html - 将用户输入显示为输入值而不进行清理是否安全?

标签 html security xss user-input

假设我们有一个表单,用户可以在其中输入各种信息。我们验证信息,发现有问题。字段丢失、电子邮件无效等。

当再次向用户显示表单时,我当然不希望他必须再次输入所有内容,所以我想填充输入字段。在没有 sanitizer 的情况下这样做安全吗?如果不是,首先应该进行的最低限度 sanitizer 是什么?

并澄清:在将其添加到数据库或显示在网站其他地方之前,当然会对其进行清理。

最佳答案

不,不是。用户可能会被定向到来自第三方站点的表单,或者只是(无意地)输入会破坏 HTML 的数据。

将任何具有特殊含义的字符转换为其 HTML 实体。

&&amp; , <&lt; , >&gt;"&quot; (假设您使用 " 而不是 ' 分隔属性值。

在 Perl 中使用 HTML::Entities , 在 TT 中使用 html filter , 在 PHP 中使用 htmlspecialchars .否则寻找与您使用的语言相似的内容。

关于html - 将用户输入显示为输入值而不进行清理是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2453408/

相关文章:

javascript - 使 jqGrid 在 Web 浏览器上响应的方法

javascript - Internet Explorer 背景大小问题

javascript - 使用 Nodejs 服务器和 Pug 如何一次显示列表中的元素并使用按钮进行迭代?

javascript - 使用 JavaScript 代码生成 JSON 文件

javascript - 如何保护页面免受高科技 CRSF 的影响

C# Web API - 通过客户端证书对用户进行身份验证

security - 很好理解CSRF的棘手问题

javascript - 为什么我不能使用 Chrome 的 "Inspect Element"修改此代码中的 Javascript?

sql - 如何从客户端安全地查询MySQL DB

angular - 在 Angular 火灾、不安全值、domsanitation中基于数据库查询动态显示iframe