我正在研究如何正确地逃避来自外部世界的数据,然后才能将其用于应用程序控制,存储,逻辑等等.
显然,魔术语录指令很快在php 5.3.0中被弃用,并在php6中被删除,对于任何想要升级并进入新语言功能的人来说,这变得更加紧迫,同时保留遗留代码(我们不喜欢它) ..).
但是,有一件事我还没有看到关于理论/最佳实践的讨论,一旦你保护你的数据怎么做 – 例如,存储是否有斜杠?我个人认为在数据库中保存转载数据是一个不好的举动,但希望听到讨论并最好阅读一些案例研究.
PHP手册中的一些链接仅供参考:
PHP Manual – mysql_real_escape_string
等等
有小费吗?
解决方法:
看看准备好的陈述.我知道在mysql中这非常有效,并且是一种将数据输入数据库的安全形式.它也有一些性能优势.
http://dev.mysql.com/tech-resources/articles/4.1/prepared-statements.html
如果你有兴趣,我会有更多的资源.
希望这就是你要找的东西,tc.
编辑:
我可以添加的一件事是将过滤器与预处理语句结合使用.例如,要检查值是否为使用FILTER_SANITIZE_STRING的sting,或者对于使用FILTER_SANITIZE_EMAIL的电子邮件.
这节省了一些代码并且运行良好.您可以随后使用自己的方法检查数据,但您可以使用许多过滤器.