Javascript安全风险?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript安全风险?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1108字,纯文字阅读大概需要2分钟。
内容图文
![Javascript安全风险?](/upload/InfoBanner/zyjiaocheng/702/b8db9d63b15648ce9104f13851a9b09d.jpg)
使用Javascript有什么风险以及如何避免它们?
解决方法:
最常见的错误之一是HTML注入,允许第三方将JavaScript注入您的安全上下文.这允许攻击者控制用户在您网站上执行的操作,从而完全破坏帐户安全性.
虽然尝试让网络作者记住将HTML编码字符串输出到服务器端的网页(例如PHP中的htmlspecialchars)进行了一些缓慢的进展,但是新一代的webapps使用相同的愚蠢的字符串连接黑客来使用JavaScript在客户端创建内容:
somediv.innerHTML= '<p>Hello, '+name+'</p>';
经常使用jQuery:
$('table').append('<tr title="'+row.title+'"><td>'+row.description+'</td></tr>');
这与服务器端HTML注入一样容易受到攻击,作者确实需要停止以这种方式构建内容.您可以在客户端对文本内容进行HTML编码,但由于JS没有内置的HTML编码器,您必须自己完成:
function encodeHTML(s) {
return s.replace(/&/g, '&').replace(/</g, '<').replace(/"/g, '"');
}
somediv.innerHTML= '<p>Hello, '+encodeHTML(name)+'</p>';
但是,使用可用的DOM方法和属性通常可以更好地避免转义:
var p= document.createElement('p');
p.appendChild(document.createTextNode('Hello, '+name);
并使用jQuery使用attr(),text()和创建快捷方式:
$('table').append(
$('<tr>', {title: row.title}).append(
$('<td>', {text: row.description})
)
);
内容总结
以上是互联网集市为您收集整理的Javascript安全风险?全部内容,希望文章能够帮你解决Javascript安全风险?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。