我正在登录,并将使用此进行注册,并允许电子邮件和密码中的符号和特殊字符。我知道这对黑客注射是一个严重的威胁。我的问题是:如何将字段(例如'email','password')的输入转换为字符串,不允许服务器将它们作为代码和命令处理。
我真的很少知道从哪里开始,但已经尝试mysqli_escape_string
;但是,正如您最有可能知道的那样,它非常薄并且已被弃用。我不介意研究一下,我会非常感谢一些开始的信息!
答案 0 :(得分:2)
如果你真的不知道从哪里开始,这不是一件坏事!但是,我建议不要尝试创建自己的登录/注册系统,除非你知道该怎么做。特别是如果你关心安全。即使对于经验丰富的程序员来说,这也是一件非常容易搞砸的事情。我将是第一个承认,我花了很多时间在PHP中编写我自己的登录/ auth模块,并花了很多时间继承代码,其他人实现自己的方法,大多数时候,不正确。
我建议您学习网络框架。我最喜欢的PHP Web框架是Laravel和Code Igniter,Laravel是我最喜欢的。你会发现这里也有一个学习曲线,但你会发现更多支持正确和安全地实现用户身份验证。例如:http://laravel.com/docs/4.2/security
使用框架,您还可以获得许多帮助方法,使数据库访问变得有趣,简单和安全。看看examples here!你可以随时使用原始的sql!但是对于你的日常CRUD应用程序,没有必要!
如果你仍然绝对坚持自己这样做,尽管我会在最后一次警告你。我建议使用PDO或MySQLi预备语句(我更喜欢PDO)。
我的猜测是该应用程序并不太远,因为您仍在考虑如何构建登录/注册,因此您可能不会“陷入”使用原始PHP并自己完成所有操作。 :)
答案 1 :(得分:1)