gpt4 book ai didi

PHP MySQL 漏洞

转载 作者:行者123 更新时间:2023-11-29 03:53:19 29 4
gpt4 key购买 nike

我用这个函数来防止SQL注入(inject)

  function cleanQuery($string)
{
if(get_magic_quotes_gpc()) // prevents duplicate backslashes
{
$string = stripslashes($string);
}
if (phpversion() >= '4.3.0')
{
$string = mysql_real_escape_string($string);
}
else
{
$string = mysql_escape_string($string);
}
return htmlentities($string);
}

我就是这样用的

$sql = "select * from news where id = ".cleanQuery($id)." ";

调用 page.php?id=1 时查询应该是安全的但是,当像 page.php?id=1 这样的 URL 末尾添加 ' 时,它会出错

警告:mysql_fetch_object():提供的参数不是有效的 MySQL 结果资源

我认为这意味着该页面仍然存在漏洞,任何机构都有解决方案?

最佳答案

使用 PDO 的准备语句。当您对查询中的每个外部变量进行参数化时,准备好的语句具有防止所有形式的参数注入(inject)的良好特性。也就是说,要小心数据类型转换。

关于PHP MySQL 漏洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5085578/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com