我已经阅读了各种来源,但我不确定如何将它们实现到我的代码中。我想知道是否有人可以帮我快速完成它?一旦我在代码中被展示如何做到这一点,我想我就能学会它!这是来自我在网上找到的 AJAX 自动完成,尽管我看到它由于“%$queryString%”或其他原因而容易受到 SQL 注入攻击?任何帮助真的很感激!
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 [email protected] /cdn-cgi/l/email-protection" );
while ( $row = mysql_fetch_array( $result ) )
{
$game_id = $row['game_id'];
echo '<li onClick="fill(\'' . $row['game_title'] . '\',' . $game_id . ');">' . $row['game_title'] . '</li>';
}
}
}
注入漏洞是您将用户提供的数据直接传递到查询中而不对其进行清理。特别是,这一行是有问题的:
$queryString = $_POST['queryString'];
如果您使用该功能mysql_real_escape_string()
around $_POST['queryString']
,这将阻止用户插入自己的代码。
$queryString = mysql_real_escape_string($_POST['queryString']);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)