php – 这两个功能是否过度杀菌?
发布时间:2020-12-13 18:12:44 所属栏目:PHP教程 来源:网络整理
导读:function sanitizeString($var){ $var = stripslashes($var); $var = htmlentities($var); $var = strip_tags($var); return $var;}function sanitizeMySQL($var){ $var = mysql_real_escape_string($var); $var = sanitizeString($var); return $var;} 我从
function sanitizeString($var) { $var = stripslashes($var); $var = htmlentities($var); $var = strip_tags($var); return $var; } function sanitizeMySQL($var) { $var = mysql_real_escape_string($var); $var = sanitizeString($var); return $var; } 我从一本书中得到了这两个函数,作者说通过使用这两个函数,我可以对XSS(第一个函数)和sql注入(第二个函数)更加安全. 另外,对于清理,我使用预准备语句来防止sql注入. 我会像这样使用它: $variable = sanitizeString($_POST['user_input']); $variable = sanitizeMySQL($_POST['user_input']); 编辑:摆脱第一个函数的strip_tags,因为它没有做任何事情.
这是真的,但这种逃避水平可能并不适合所有情况.如果要将HTML存储在数据库中该怎么办?
最佳实践规定,在显示它们时,应该逃避它们,而不是在接收值时转义它们.这允许您考虑显示来自数据库的HTML和来自数据库的非HTML,并且它确实是这种代码在逻辑上属于的地方. 清理传出HTML的另一个优点是可以发现新的攻击媒介,在这种情况下,对传入的HTML进行清理将不会对数据库中已有的值执行任何操作,而传出的清理将追溯应用而无需执行任何特殊操作 此外,请注意,如果所有<中的第一个函数中的strip_tags可能都没有效果.和>已成为& lt;和& gt;. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |