繁体   English   中英

清理用户输入而不转换为htmlentities

[英]Sanitizing user input without converting to htmlentities

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

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

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

<?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);
?> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM