消除用户输入而不转换为htmlentities

时间:2010-12-31 05:27:36

标签: php sanitization

如何清理搜索查询的用户输入并仍保留数据,例如,如果用户输入&,则不会将其转换为&,如果用户输入&它不会转换为&

3 个答案:

答案 0 :(得分:4)

* use `mysql_real_escape_string()`
* Use `strip_tags()` to filter out unwanted HTML
* Escape all other output with `htmlspecialchars()` 

答案 1 :(得分:0)

如果您正在查询MySQL数据库,我建议使用mysql_real_escape_string()功能。我认为你不应该有太多问题。您始终可以将字符转换回来,但是您希望确保在查询时清理数据库。

答案 2 :(得分:0)

<?php

$user = $_POST['username'];
$pwd = $_POST['password'];

// escape username and password for use in SQL
$user = mysql_real_escape_string($user);
$pwd = mysql_real_escape_string($pwd);

$sql = "SELECT * FROM users WHERE
user='" . $user . "' AND password='" . $pwd . "'"

// more code

mysql_close($con);
?>