gpt4 book ai didi

php - 由于不安全地使用不带引号的 addslashes(),用户输入到达敏感接收器

转载 作者:行者123 更新时间:2023-11-30 23:49:24 25 4
gpt4 key购买 nike

我正在使用 PHP 程序 RIPS ( http://rips-scanner.sourceforge.net/ ) 扫描我的 PHP 脚本中的漏洞,它会返回消息

Userinput reaches sensitive sink due to insecure usage of addslashes() without quotes Userinput reaches sensitive sink due to insecure usage of addslashes() without quotes

addslashes 的不安全使用是什么意思?我怎样才能保护下面的代码?

47: mysql_query $sql = mysql_query("INSERT INTO questions_answers(PID, Name, Email, Question, Date) VALUES ('$product_ID', '$name', '$email', '$question', '$date') ") or mydie ("Error" . mysql_error() . " File: " . __FILE__ . " on line: " . __LINE__); 
4: $product_ID = addslashes($_GET['product_id']);
38: $name = addslashes(strip_tags($name));
34: $name = ucwords($name);
21: $name = '';
5: $name = addslashes($_POST['name']);
40: $email = addslashes(strip_tags($email));
14: $email = '';
6: $email = addslashes($_POST['email']);
39: $question = addslashes(strip_tags($question));
35: $question = ucfirst($question);
7: $question = addslashes($_POST['question']);
36: $date = time();

注意:这是 RIPS 的输出,请注意应该从下往上读取的行号。

最佳答案

addslashes 对注入(inject)的保护很差。相反,您应该使用 mysql_real_escape_string。实际上,您也不应该使用它。您应该对 PDO 或 mysqli 使用正确的参数化查询。

关于php - 由于不安全地使用不带引号的 addslashes(),用户输入到达敏感接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19272715/

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