我最近开始使用AJAX和AngularJS进行编码,并且异步GET和POST请求对于PHP来说非常酷!我遇到了一些我不太确定的问题,但他们的确看起来很重要。保护网站的数据并打击垃圾信息并点击漫游器
我有很多独立的PHP文件放在一个名为postRequests的目录中。这些文件接收我的AJAX脚本中编写的发布请求。我唯一的过滤检查某某领域是数字,谁谁是字符串等,以及快速的“定制卫生”功能:
function sanitize($string) {
return mysqli_real_escape_string($dbc, trim($string));
}
许多AJAX调用非常简单,如链接,用于更新用户配置文件的标准或发送发表评论数据的请求。然而,这些可以通过点击机器人轻松发送垃圾邮件,用户只需键入内容并发送垃圾评论按钮(尽管我在每次提交后都清除了textarea)。
- 这是一个担心,我如何才能对抗5秒后提交“hiowheihewr”评论文字的用户?
- 我应该用别的东西保护我的用户输入数据吗?
- 我已考虑使用HTTP身份验证,但我将如何存储密码?在我的AngularJS脚本中的字符串?这安全吗?
此外,我的MySQL数据库证书都存储在一个名为constants.php文件中的字符串(未加密),每当我建立数据库连接时都会引用该文件。这安全吗?
我应该如何存储这些管理员密码,这是一个我应该担心的问题(点击机器人和密码存储)。有人发现解析我的POST请求,发送POST请求到我的PHP文件,或发现我的文件目录并阅读php或JS脚本是多么容易?
应该认为用户已经登录来发表评论或对这些脚本进行调用吗?如果是这样,登录后,设置一个'$ _SESSION',表示他们已经登录。在你的PHP脚本中,检查设置了'$ _SESSION'。如果是,请允许评论,如果不是,则不做任何事情。我并不完全确定如何阻止普通用户输入诸如“hiowheihewr”之类的东西,但会话事件应该阻止一些随机调用您的脚本 – Ronnie 2015-02-23 23:32:13
这是不是说用户可以只注册然后进行这些调用?是的,他们只能在脚本登录时才对脚本进行调用,否则脚本不会响应任何输入。我只是想知道一般问题有多少是垃圾邮件,以及某人能够轻松映射我的目录,阅读我的PHP文件,以及我应该保护哪些数据以及如何简单地停止使用'mysql'扩展名。“ – 2015-02-23 23:38:33
现在停止使用'mysql'扩展名。使用'PDO'或'mysqli' – 2015-02-23 23:39:19