javascript - 清理稍后将出现在 HTML 中的输入

标签 javascript html sanitize

我有一个 <textarea>其值被发送到服务器并存储在数据库中。该值稍后会在 HTML 的不同页面上呈现。

我需要做什么来清理它?只是删除 HTML 标签? (它已经是 SQL 注入(inject)安全的,因为我使用的是存储过程和参数。)

有人有 sanitizer 程序吗?

最佳答案

不净化输入。而是在输出时对其进行编码。这很容易通过 .net 4 功能 (<%: ""%>) 或通过代码审查来实现。

数据应以其原始格式存储。人类可读文本的原始格式只是文本,而不是它的某种编码版本。您不能轻易地操纵编码文本(比如突出显示单词或替换)。

不在数据库中编码文本甚至可以节省一点存储空间。

净化输入无论如何都很难。除了对所有内容进行编码之外,很难做更多的事情。将 HTML 标签列入黑名单是一种忘记某些事情的方式,所以不要这样做。

关于javascript - 清理稍后将出现在 HTML 中的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5838770/

相关文章:

javascript - 带 Material 的 Angular 形

html - 如何使这些元素显示水平而不是垂直

CSS Center Div - 问题

php - 清理 XSS 到 Textarea 的输出

javascript - React Router 路径错误匹配

javascript - 我可以通过索引而不是名称引用 ngRepeat 中的项目吗

php - PHP PDO 的 Mysql 转义 % 和 _

ruby-on-rails - 来自文本输入的 Ruby on Rails : How can i remove/delete/sanitize script, 样式标签?

javascript - 确定某个字符串是否存在于以另一个数组中的另一组字符串开头的数组中

javascript - Backbone .js。正确设置更改事件