php - 剥离危险的 html 标签、mysql 注入(inject)并在 php 中保留 'good' 标签的最佳方法

标签 php html mysql strip strip-tags

我正在寻找从网页过滤输入 html 文本的最佳方法,并对其进行过滤,保留文本格式,并剥离标签和其他危险标签,同时仍然防止 mysql 注入(inject)。

示例:

输入

<p>I'm new here and i dont know much about php programming</p>
<a href='maliciousWebsite.com'>Click here!</a>
'MYSQL INSTRUCTIONS TO GET THE WHOLE DB

输出

<p>I'm new here and i dont know much about php programming</p>

谢谢大家,

最佳答案

利用strip_tags()allowable Tags 参数允许您真正想要插入到表格中的必要内容。

出于显示目的,只需使用 htmlspecialchars()htmlentites()

$yourHTMLdata = '<p>I'm new here and i dont know much about php programming</p>
<a href='maliciousWebsite.com'>Click here!</a>
'MYSQL INSTRUCTIONS TO GET THE WHOLE DB';

echo htmlentites($yourHTMLdata);

甚至是<script>标签不会受到影响,您也不会受到 XSS 攻击

关于php - 剥离危险的 html 标签、mysql 注入(inject)并在 php 中保留 'good' 标签的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21427788/

相关文章:

javascript - 全高 div 到屏幕大小 - JQuery

html - 如何制作可变宽度的输入字段

php - MySQL 查询过滤器和排序行匹配类似于工作匹配或功能比较

php - 将内容动态翻译成不同语言的最佳实践

javascript - 将 SELECT OPTION 中的值动态添加和/或减去到现有 INPUT 值

MySQL:对整个表应用 GROUP BY 查询

BEGIN后MySQL存储过程语法错误

php - 日期时间,+1 周和 -1 周工作方式不同

javascript - jQuery 动态标记所有复选框已选中

mysql - MySQL 5.1 和 5.6 中的 INSERT 和 SELECT 以不同的顺序返回