PHP - 非破坏性输入清理

标签 php mysql apache textarea sanitize

我的网站上有一个 TextArea,我将输入写入数据库。

我想过滤此 TextArea 输入,但不删除任何 HTML 标签或其他内容。

简而言之,我想在将输入写入我的数据库之前对其进行清理和保护,但是当我从数据库中取回该条目并将其写入网站时,我希望该条目完好无损且未被修改。

我怎样才能做到这一点?

最佳答案

如果您想在将字符写回网站时保留字符的数据字符,请尝试:

$stringToSave = mysql_real_escape_string($inputString);

然后从数据库中检索它时:

$stringToPutOnPage = htmlentities($databaseString);

如果你想让 html 实际上被读取为 html(小心 XSS)你可以使用:

$stringToSave = mysql_real_escape_string($inputString);

编辑:似乎最好的做法是在从数据库中检索字符串之后而不是之前对 html 字符串进行清理。感谢您的评论,我将不得不改变我的方法。

关于PHP - 非破坏性输入清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5175616/

相关文章:

同一台服务器上的 apache 和 Node 保留 ips?

javascript - 将来自 HTTP 请求的所有变量视为整数(有异常(exception))

java - PHP 如何使用 SOAP Web 服务?

php - 在 PHP 动态创建时缓存 HTTP 响应

Mysql 多个Group By,按一项一组排序?

php - Apache 意外关闭

php - 为什么 margin-top 在 Mac 上减少了 2px?

MySQL 每月限制 5 个

PHP、MySQL 和 JQuery 有问题吗?

java - 通过 DNS 名称访问托管在单个服务器中的多个网站