不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
使用(function(){})()语句提高站点安全性
编辑:dnawo 日期:2009-06-18
复制内容到剪贴板 程序代码
<script type="text/javascript">
function Alert(msg)
{
alert(msg);
}
var m = "木子屋";
Alert(m);
</script>
function Alert(msg)
{
alert(msg);
}
var m = "木子屋";
Alert(m);
</script>
先不考虑上边代码有无实际意义,假设上边代码存在于某个页上,构造适当的URL我们很容易就能修改m的值,例如:
复制内容到剪贴板 程序代码
javascript:m="www.mzwu.com";Alert(m);void(0);
甚至是修改Alert函数内容:
复制内容到剪贴板 程序代码
javascript:function Alert(msg){alert("hello,"+msg)};Alert(m);void(0);
这无疑会给站点带来一定的风险,下边我们使用(function(){})()语句对上面的代码稍加修改:
复制内容到剪贴板 程序代码
<script type="text/javascript">
(function()
{
function Alert(msg){alert(msg);}
var m = "木子屋";
Alert(m);
})();
</script>
(function()
{
function Alert(msg){alert(msg);}
var m = "木子屋";
Alert(m);
})();
</script>
这样我们就无法构造URL来修改m的值了,此处的m相当于是C#类中的私有成员,我们无法访问到它,同样,我们也无法修改Alert函数的内容,除非重写(function(){})()语句,但这似乎没什么意义了。
上一篇: HttpUtility.UrlEncode将空格转换成加号引发的问题
下一篇: 使用||运算符给参数赋默认值
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
下一篇: 使用||运算符给参数赋默认值
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 3894
发表评论
请登录后再发表评论!