修复跨站点脚本问题
Fix cross site scripting issue
我遇到了一个跨站点脚本问题(由其中一个工具报告)我的屏幕上有一个包含各种字段的表格。现在,如果用户为字段1之一输入<script>alert("1")</script>
标签,浏览器将显示值为1的弹出窗口。
如果用户为字段1输入<html>testString</html> or <script>alert("1")</script>
,它将作为编码发送到服务器,并作为正确编码检索回来,但如果用户不修改包含这些标签的字段1,而是更新其他字段,如字段2、3,则字段1将被打乱,因为它正被发送到未编码的服务器。
如何解决此问题?有没有标准的方法来解决这些问题?
我还使用了一个Java资源来发布表单值?那么有什么变化吗?
为此,您必须替换'<'等字符对应的html实体等价于'<’。最好在服务器端进行,因为客户端验证可能会被用户阻止。在javascript中,我们可以这样做。
document.write(htmlentities("<script>"));
function htmlentities(str) {
var ret = str.replace(/['u00A0-'u9999<>'&]/gim, function(i) {
return '&#'+i.charCodeAt(0)+';';
});
return ret;
}
相关文章:
- Google 日历 API V3 会解决与会者和创建者 Java 脚本问题
- JQuery脚本问题
- 脚本问题,获胜'Don’不允许我跑步和使用
- Jquery表单验证脚本问题
- 修复跨站点脚本问题
- Javascript随机名称猜测者:无响应的脚本问题
- 平滑滚动脚本问题
- Tumblr 无限(无休止)滚动/自动页面脚本问题
- 简单的 Java 脚本问题
- Javascript 触发 Tropo 脚本问题
- 跨站点脚本问题
- 切换脚本问题
- 将 HTML 源代码注入 iframe 以避免跨站点脚本问题
- PhantomJS页面转储脚本问题
- 如何在js字符串中修复这个从右到左的脚本问题
- IE7 CPU峰值,脚本问题&调试
- iMacros脚本问题timeout/errormsg/popupignore等
- 无法在未定义的脚本问题上调用方法替换
- NPM脚本问题
- 带有Microsoft边缘的windows 10应用程序中的内联脚本问题