在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
PHP中有这么多函数,我对这些函数的使用感到很混乱。有人使用: 哪一个是正确的,大家通常使用什么呢? 下面这行应该是正确的(如果有更好的请给我建议):
这一行可以防止MySQL注入和XSS的攻击 顺便说一下,除了XSS攻击和MySQL注入之外,还有什么其他的事情需要注意吗? 总结: 如果我想插入字符串到数据库,我不需要使用 总结:
有人可以解答上面的疑问吗?
最佳解决思路
htmlspecialchars()用在什么时候?htmlspecialchars与htmlentities大致相同。区别:字符编码。 都编码控制字符,如 什么时候使用strip_tags()?htmlspecialchars /实体编码的特殊字符,所以他们显示,但不解释。 strip_tags将其移除。 在实践中,这取决于你需要做什么。 一个例子…你已经编写了一个论坛,并给用户一个文本字段,所以他们可以发布的东西。恶意的只是尝试
如果你什么都不做,链接将被显示,点击链接的受害者将得到大量的pop-ups。 如果你的输出是htmlentitiy /htmlspecialchar,那么文本会在那里as-is。如果你strip_tag它,它只是删除标签,并显示它:
有时你可能想要一个混合,在那里留下一些标签,如 addslashes引用php手册:
次佳解决思路只有在进入系统需要进行编码时才对数据进行编码 – 否则会遇到您想操纵实际数据的情况。 对于SQL注入 – 使用How can I prevent SQL injection in PHP?中描述的绑定变量(它谈论准备好的语句,但它是给予保护的绑定,而不是准备)。 对于XSS – 如果您在指定HTML或文本的位置写入HTML。在生成文档的地方使用htmlentities。我会避免以数据库的形式存储数据(除了可能在write-rare-read-通常系统的CPU性能/磁盘访问时间成为问题 – 然后我将有一个raw_和html_版本的列…或只是使用memcached或类似的)。 如果你让用户输入URL,那么你需要更加小心,因为
参考资料
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13