php$link = mysqli_connectlocalhost root root data breach;if !$link die连接失败 mysqli_connect_error;if isset$_POSTinput1 $value1 = mysqli_real_escape_string$link $_POSTinput1; $value2 = mysql
以下是你提供的PHP代码。我已经注释了其中的一些代码行并提供了一些建议。
window.location.href = '../index.php';"; //将页面重定向到另一个页面 } else { echo mysqli_affected_rows($link); echo $result; //这里应该输出错误消息,而不是结果对象 mysqli_rollback($link); //回滚事务 mysqli_close($link); echo 'false'; echo gettype($value); //未定义$value变量 echo $value; //同上 } ?>建议:
1.在代码的顶部定义所有变量,包括$value1,$value2等等。
2.确保所有POST值都被转义以避免SQL注入攻击。
3.在执行任何数据库操作之前关闭自动提交功能。
4.在执行完所有数据库操作后,如果所有操作都成功,则提交事务,否则回滚事务。
5.在执行INSERT语句时,应该使用一条语句而不是多条语句,例如:
$insert_query = "INSERT INTO amount_of_data_leaked (column1, column2, column3, column4) VALUES ('$value1', '$value2', '$value3', '$value4')";
6.在遇到数据库操作失败时,输出错误消息而不是结果对象。
7.使用prepared statements来执行数据库操作,而不是直接构建SQL查询。这可以防止SQL注入攻击
原文地址: http://www.cveoy.top/t/topic/fHWG 著作权归作者所有。请勿转载和采集!