gpt4 book ai didi

php - 如何保护此代码免受 SQL 注入(inject)攻击?有点糊涂

转载 作者:行者123 更新时间:2023-11-29 01:15:15 24 4
gpt4 key购买 nike

我已经阅读了各种来源,但我不确定如何将它们实现到我的代码中。我想知道是否有人可以快速帮助我?一旦我在我的代码中被展示了如何做到这一点,我想我就可以接受它了!这是我在网上找到的 AJAX 自动完成功能,尽管我发现它与由于 '%$queryString%' 或其他原因易受 SQL 注入(inject)攻击有关?非常感谢任何帮助!

if ( isset( $_POST['queryString'] ) )
{
$queryString = $_POST['queryString'];
if ( strlen( $queryString ) > 0 )
{
$query = "SELECT game_title, game_id FROM games WHERE game_title LIKE '%$queryString%' || alt LIKE '%$queryString%' LIMIT 10";
$result = mysql_query( $query, $db ) or die( "There is an error in database please contact support@laglessfrag.com" );
while ( $row = mysql_fetch_array( $result ) )
{
$game_id = $row['game_id'];
echo '<li onClick="fill(\'' . $row['game_title'] . '\',' . $game_id . ');">' . $row['game_title'] . '</li>';
}
}
}

最佳答案

注入(inject)漏洞是您将用户提供的数据直接传递到查询中而不对其进行清理。特别是,这一行是有问题的:

$queryString = $_POST['queryString'];  

如果您在 $_POST['queryString'] 周围使用函数 mysql_real_escape_string(),这将阻止用户插入他们自己的代码。

$queryString = mysql_real_escape_string($_POST['queryString']); 

关于php - 如何保护此代码免受 SQL 注入(inject)攻击?有点糊涂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2555255/

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