360站长平台中有一个工具是“官网直达”,通过申请可以使你的网站在360搜索结果中加上“官网”字样的标识,百度也有这样的工具,不过是收费的,所以趁着360还没收费,有兴趣的朋友可以为自己的网站申请一下,申请这项服务有三个基本要求:ICP备案、符合法律法规、网站安全检测。前两项要求基本大部分网站都符合要求,我今天就卡在了第三项网站安全检测上,无法通过审核。
我的网站使用的是Discuz论坛程序,360网站安全检测的评分是85分,出现的唯一一个警告信息是“Flash配置不当”的漏洞,查看了一下360官方给出的此漏洞危害:
可被用来进行跨域访问,可能会导致“跨站点伪造请求”或“跨站点跟踪”(“跨站点脚本编制”的变体)之类的攻击,从而导致其它用户的信息被非法读取。
这个漏洞的解决方法很简单——调整Flash跨域安全策略,Flash跨域策略文件是crossdomain.xml,如果是Discuz程序的话,这个文件就在Discuz的根目录中,我们只需要将这个文件用记事本打开,将domain="*"中的"*"修改为你的网站域名即可,域名前不要加http://。
解决方法就是这么简单,如果你只是为了解决这个警告信息的话,到这里就可以不用再往下看了,因为问题已经解决了,但如果你对网络技术感兴趣的话,可以继续往下面看。因为我觉得还是有必要和各位网络技术爱好者介绍一下crossdomain.xml这个策略文件。
以Discuz论坛程序的crossdomain.xml文件为例,我们看到其中有四行代码:
1.<?xml version="1.0"?>
2.<cross-domain-policy>
3. <allow-access-from domain="*" />
4.</cross-domain-policy>
为了方便介绍,我在每句代码前面加了序号,第一句是最简单的,首先声明xml版本,第二句和第四句是一个完整的开合标签,稍微有点HTML基础的朋友都清楚这一点。cross-domain-policy是跨域策略中必须的一个节点,也是这个文件中固定的格式,通过这三个英文单词的意思我们也可以理解cross-domain-policy的意思,其中cross domain可以理解为跨域,policy在这里是策略的意思。整个文件中最重要的策略属性就是第三句,cross-domain-policy属于策略文件中的根节点,下面第三句allow-access-from属于子节点,当然子节点不是只有allow-access-from这一个,除此之外还包括site-control、allow-access-from-identity、allow-http-request-headers-from这三个子节点,也就是说cross-domain-policy下面的子节点只能是上面提到的这四个,没有其他的子节点。
cross-domain-policy是根节点,不能赋予任何属性,但是子节点是可以赋予属性的,例如我们上面例子中的,其中的domain就是allow-access-from的属性之一,只有domain中指定的域才能通过Flash读取域中的信息和内容,例如我们案例中domain的值是*,就代表所有的域都有权限通过Flash读取我们网站所在域的内容,因此就有可能被别人跨域访问并获取我们网站的用户信息等敏感内容,因此我们在上面的解决方法中,也是将*代替为我们自己的域名,这样只有我们自己的域名所在域才有权限通过Flash访问本域的内容。
羽度非凡(www.feifanblog.com),互联网草根站长、非著名网络讲师、自媒体人。获取更多羽度非凡原创文章,请关注我的微信公众号:iamydff。
文章评论 本文章有个评论