所以,我有这样的代码:PHP:str_replace函数不工作
<?php
include '../config.php';
$query=$_GET['q'];
//replace
echo str_replace('\','',$query);
$sql=mysql_query($query) or die("Query not executed!");
echo $query;
echo "\n //executed";
mysql_close();
?>
的问题是在$ _GET,例如使用当 ',例如:“更新用户设置币= 3其中username ='管理员返回:“更新用户设置硬币= 3其中username = \ '管理员\'应该=> '管理员' “”
也就是说**非常危险**代码。您允许用户将任意SQL传递到您的数据库并执行它。什么是阻止某人摧毁你的数据库?更新他们的用户记录并给予他们自己的总特权你应该**感谢**你是一个过时的PHP安装,它仍然启用了register_globals。丢弃这段代码,将它烧成灰烬,将灰烬分散到不同的大洲,然后在做其他事情之前学习如何编写安全的PHP代码。 –
这不会引发语法错误吗? – Flosculus
我不记得连接是\或/,但如果它是\,你将不得不添加一个额外的\我相信。 –