我试图逃脱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/

10-12 15:40