我使用以下代码和AJAX请求来查找" status"在我的"用户"与特定" userid"匹配的表格随AJAX请求发送。我只需将返回的状态作为一个单词字符串(它是" ON"或" OFF")。在黑客攻击之后,我已经有了这个代码可以工作,但是想知道是否有任何明显的问题,特别是关于折旧会使这段代码很快失效?感谢您提出的任何改进建议。
<?php
$server = "myserver.com";
$username = "someuser";
$password = "somepassword";
$database = "somedatabase";
$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
$name=$_POST['p'];
$query = mysql_query("SELECT status FROM user WHERE userid LIKE '$name'");
$result=mysql_fetch_row($query);
echo implode(" ",$result);
mysql_close($con);
?>
答案 0 :(得分:1)
我使用数据库来传达PDO或MySQLi
由于MySQL注入,此代码存在问题。
$name=$_POST['p'];
答案 1 :(得分:1)
首先:使用内置ORM的框架。
不要自己编写连接到数据库的代码,例如尝试发布此字符串'; DROP table user
并享受乐趣。这种攻击很古老,被称为sqlinjection。