【发布时间】:2013-05-16 22:33:23
【问题描述】:
我有这个 PHP,我只是想确保它不会受到 SQL 注入和安全漏洞的影响:
<?php
require_once "./source/includes/data.php";
header('Content-type: application/json');
$request = mysql_real_escape_string($_REQUEST['email_address']);
$query = mysql_query("SELECT * FROM mmh_user_info WHERE email_address ='$request'");
$result = mysql_num_rows($query);
if ($result == 0){
$valid = 'true';}
else{
$valid = 'false';
}
echo $valid;
?>
我还是个 php 新手,任何改进或编辑将不胜感激!
【问题讨论】:
-
注射相当安全,但是如果您正在编写新代码,为什么不使用
PDO或mysqli准备好的语句呢?尽可能安全.. -
$email_address在您的 WHERE 子句中可能应该是$request。除此之外,安全。 -
您能建议对此代码进行修改吗?或者建议一个教程来解释如何在 mysqli 准备好的语句中做到这一点?谢谢你的建议!
-
@Shi 感谢您的建议,已编辑:)
-
我们需要了解您如何输出数据以及如何插入数据,因为在某些情况下,
could仍然容易受到 XSS 攻击。
标签: php sql security code-injection