Php 该消毒液中是否有XSS泄漏
我想确保我的消毒液没有泄漏。 而且,im只输出硬编码p标签和h1标签内的用户数据 例如:Php 该消毒液中是否有XSS泄漏,php,xss,sql-injection,sanitization,Php,Xss,Sql Injection,Sanitization,我想确保我的消毒液没有泄漏。 而且,im只输出硬编码p标签和h1标签内的用户数据 例如: 那么,这是一种安全的方法来保护我免受XSS注射 首先,在将数据插入我的数据库之前,我使用此函数对数据进行sanetize,而在我的数据库中,我使用bind_param function sanitize($str) { return strtolower(strip_tags(trim(($str)))); } sanitize($user_data); - > then gets inser
那么,这是一种安全的方法来保护我免受XSS注射
首先,在将数据插入我的数据库之前,我使用此函数对数据进行sanetize,而在我的数据库中,我使用bind_param
function sanitize($str) {
return strtolower(strip_tags(trim(($str))));
}
sanitize($user_data); - > then gets inserted into db
然后,当我从数据库中绘制数据时,我用这个来显示它
<p> <?php echo htmlspecialchars($user_data); ?> </p>
那么,这是阻止任何XSS的安全方法吗
谢谢 从安全角度来看,只要您正确地转义/处理您要输出到的介质的数据,就不需要使用“清理”功能:
- 使用
是输出到html所需的全部李>htmlspecialchars()
- 如果需要输出到javascript,请使用
李>json\u encode
- 为数据库使用带绑定变量的准备语句李>
- 等等
ENT\u引号。
。顺便问一下:为什么在插入db之前要剥离标记?@luiscubal您的意思是如果我使用“.$foo.”?我在手册中读到:如果我只使用htmlspecialchars(),是否存在安全风险?毫无疑问。。他已经在使用strip_标签了,那么有必要使用htmlspecialchars吗?反之亦然,他是否需要使用strip_标签?@user1844933坦率地说,我不认为使用strip_标签有什么意义。htmlspecialchars将转换为@user1844933是的,可能存在如果我只使用htmlspecialchars(),是否存在安全风险?没有引述etc@user2722667这取决于,如果您回显标记属性的值并使用单引号引用它们,不编码用户输入可能会影响html。