php函数清理通过url传递的用户名和密码

时间:2011-03-27 10:45:28

标签: php mysql url

我正在尝试在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'$#$%#的

2 个答案:

答案 0 :(得分:2)

通常,您会使用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']);

我可以猜测,这些线路可以解决这个问题,所以不需要其他任何东西。

答案 1 :(得分:-2)

$uname = preg_replace("#[^a-zA-Z0-9]#", "", $_GET["uname"]); // removes everything non-alphanumeric

但是你需要定义“无效”字符是什么。