php - 如何限制或限制用户可以在网络表单中输入的 html 标签,首选项。客户端?

标签 php javascript security

有哪些好的选项可以限制允许用户输入表单域的 html 标签类型?我希望能够在客户端(大概使用 JavaScript)、PHP 中的服务器端(如果它对用户的浏览器来说太重),并且可能在适当的情况下将两者结合起来。

实际上,我希望用户能够使用与 Stackoverflow 上相同的标签集提交数据,也许还可以加上标准的 MathML 标签。表单必须接受 UTF-8 文本,包括亚洲表意文字等。

在应用程序中,用户必须能够提交带有基本 html 标签的文本条目,并且这些条目必须能够以对用户安全的方式正确呈现的 html 显示给(可能不同的)用户用户。我计划使用 htmlspecialchars()htmlspecialchars_decode() 来保护我的数据库服务器端。

非常感谢,

JDelage

PS: 我搜了一下没找到这个问题...

最佳答案

如果您希望再次过滤输入以防止 XSS 攻击等,请考虑使用现有的库,例如 HTML Purifier .我自己还没有使用过它,但它很有前途并且受到高度重视。

HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive whitelist, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C's specifications.

关于php - 如何限制或限制用户可以在网络表单中输入的 html 标签,首选项。客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3079463/

相关文章:

php - 当数量超过 1 时,在 Woocommerce 中将购物车商品分开

php - undefined variable : list in C:\xampp\htdocs\shed\select. php 第 115 行

javascript - 从javascript中的回调函数返回值?

javascript - 从字符串执行 Javascript 代码的概念方法

javascript - for 循环迭代之间的 jQuery 延迟

ios - 从 base64 编码的字符串中获取 SecKeyRef

Php 循环和写入 MySql Db 的问题

javascript - 使用 Javascript 切换文本颜色

security - 如何使用 iptable 阻止来自外部网络的网络流量?

android - 查尔斯代理 + Android HTTPS