加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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;.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读