java - 标记用户提供的内容的编码约定(提高对 XSS 漏洞的认识)

标签 java coding-style xss

您是否知道任何好的编码约定可以快速警告程序员某些变量(或配置条目等)包含用户提供的内容?我试图提高人们对几种攻击媒介(例如 XSS)的认识,这些攻击媒介是将未转义的内容粘贴到 HTML/JavaScript/HTTP 中的结果。

例如:

String UserName_UNTRUSTED = readUrlParam("username");

添加以澄清: 我专门寻找 Java 编码约定。

最佳答案

一个不错的选择是:

All strings that come from the user must be stored in variables (or database columns) with a name starting with the prefix "us" (for Unsafe String). All strings that have been HTML encoded or which came from a known-safe location must be stored in variables with a name starting with the prefix "s" (for Safe string).

这摘自 Joel 的一篇有关命名约定的帖子,您可以阅读全文: http://www.joelonsoftware.com/articles/Wrong.html

关于java - 标记用户提供的内容的编码约定(提高对 XSS 漏洞的认识),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13646521/

相关文章:

java - 在 Android Studio 上设置 L

c# - 如何避免在两个相似的 WinForms 上重复逻辑?

php - Google chrome 会自动阻止 XSS 吗?

Java Visual VM 倾斜 CPU

tomcat抛出的java.lang.StackOverflowError

c++ - 你最不喜欢的 C++ 编码指南

xss - 如何修复反射(reflect)在 java 中的 XSS

regex - 这组正则表达式是否能够完全防止跨站点脚本攻击?

java - 设置 setMaxResults 时 JPA 查询速度极慢

go - 在 Go 中命名标签的标准做法是什么?