我试图逃脱php上的无效字符。同时还尝试了名为ezsql的php类。
这是我的代码:
<?php
include_once('ez_sql_core.php');
include_once('ez_sql_mysql.php');
$db = new ezSQL_mysql('root','pword','db','localhost');
$uname=$db->escape($_GET['uname']);
$pword=$db->escape($_GET['pword']);
$db->query("INSERT INTO users(Uname, Hpword) VALUES('$uname','$pword')");
?>
如何避免产生这样的网址。并且不要弄乱整个查询。
http://localhost/folder/file.php?uname=uzer的^&*%#&pword = dd'$#$%#的
最佳答案
通常,您将使用mysql_real_escape_string()函数:
$uname=mysql_real_escape_string($_GET['uname']);
$pword=mysql_real_escape_string($_GET['pword']);
但是由于转义是您使用的框架的一部分,因此您的代码中已经包含以下内容:
$uname=$db->escape($_GET['uname']);
$pword=$db->escape($_GET['pword']);
我可以猜测,这些行可以解决问题,因此不需要其他任何操作。
关于php - php函数清理通过URL传递的用户名和密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5448729/