gpt4 book ai didi

php - 易受 SQL 注入(inject)攻击的 GET 参数 - PHP

转载 作者:可可西里 更新时间:2023-11-01 07:49:14 25 4
gpt4 key购买 nike

我被要求处理由另一位程序员建立的网站的安全问题。到目前为止,我还没有看到任何代码,所以我现在不做假设了,我想介绍一下我的基础。托管该站点的小组进行了安全检查,发现他们的代码容易受到 SQL 注入(inject)攻击。

示例:www.example.com/code.php?pid=2&ID=35(GET 参数 ID 易受 SQL 注入(inject)攻击)

现在,因为我是新手,我已经解释过我可能会与主机一起解决问题,但他们的网站仍然需要由对安全有更深入了解的人来检查。

因此,为了处理潜在的 SQL 注入(inject)(并且没有看到代码),我会使用 mysql_real_escape_string:

$query = sprintf("SELECT * FROM table WHERE pid='%s' AND ID='%s'",
mysql_real_escape_string($pid),
mysql_real_escape_string($id));

此外,我会考虑 mysqli_real_escape_string 和准备好的语句,但我不知道它们是如何配置的。但是 mysql_real_escape_string 会处理潜在的 SQL 注入(inject)吗?

最佳答案

如果可以,请跳过旧的 mysql_* 内容并使用 PDO。

$pdo = new PDO('mysql:host=localhost;dbname=whatever', $username, $password);

$statement = $pdo->prepare('SELECT * FROM table WHERE pid=:pid AND ID=:id');

$statement->bindParam(':pid', $_GET['pid']);

$statement->bindParam(':id', $_GET['id']);

$results = $statement->execute();

var_dump($results->fetchAll());

关于php - 易受 SQL 注入(inject)攻击的 GET 参数 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5716529/

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