php – 转义用户数据,没有魔术引号

我正在研究如何正确地逃避来自外部世界的数据,然后才能将其用于应用程序控制,存储,逻辑等等.

显然,魔术语录指令很快在php 5.3.0中被弃用,并在php6中被删除,对于任何想要升级并进入新语言功能的人来说,这变得更加紧迫,同时保留遗留代码(我们不喜欢它) ..).

但是,有一件事我还没有看到关于理论/最佳实践的讨论,一旦你保护你的数据怎么做 – 例如,存储是否有斜杠?我个人认为在数据库中保存转载数据是一个不好的举动,但希望听到讨论并最好阅读一些案例研究.

PHP手册中的一些链接仅供参考:

PHP Manual – mysql_real_escape_string

PHP Manual – htmlspecialchars

等等

有小费吗?

解决方法:

看看准备好的陈述.我知道在mysql中这非常有效,并且是一种将数据输入数据库的安全形式.它也有一些性能优势.

http://dev.mysql.com/tech-resources/articles/4.1/prepared-statements.html

如果你有兴趣,我会有更多的资源.

希望这就是你要找的东西,tc.

编辑:

我可以添加的一件事是将过滤器与预处理语句结合使用.例如,要检查值是否为使用FILTER_SANITIZE_STRING的sting,或者对于使用FILTER_SANITIZE_EMAIL的电子邮件.

这节省了一些代码并且运行良好.您可以随后使用自己的方法检查数据,但您可以使用许多过滤器.

上一篇:在PHP中准备SQLite SQL语句


下一篇:linux – 在每个单词后添加逗号