判断本页面访问来源是否为本站链接

判断本页面访问来源是否为本站链接:

protected bool IsRefererRight
{
     get
     {
         string s1 = Request.ServerVariables["HTTP_REFERER"];
         string s2 = Request.ServerVariables["SERVER_NAME"];
#if DEBUG
         System.Diagnostics.Trace.WriteLine(s1);//http://localhost:1783/MainPage.aspx
         System.Diagnostics.Trace.WriteLine(s2);//localhost #endif
         return s1 != null && (s1.IndexOf(s2) == 7);
     } }

正确:
Request.ServerVariables["HTTP_REFERER"]==http://localhost:1783/MainPage.aspx
Request.ServerVariables["SERVER_NAME"]==localhost

外部链接:
Request.ServerVariables["HTTP_REFERER"]==http://xxx/yyy.zzz
Request.ServerVariables["SERVER_NAME"]==xxx

非链接,浏览器直接访问:
Request.ServerVariables["HTTP_REFERER"]==null
Request.ServerVariables["SERVER_NAME"]==xxx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在网页设计中,要避免iframe嵌入的第三方页面修改主页面,可以采用以下方法: 1. 使用X-Frame-Options头:通过设置X-Frame-Options头来限制iframe的使用。该头部可以防止网被嵌入到iframe中,从而保护主页面的链不被篡改。 2. 使用Content-Security-Policy头:通过设置Content-Security-Policy头来控制网资源的加载和使用。可以通过添加'frame-ancestors'指令来限制页面在iframe中的使用,防止主页面被修改。 3. 使用JavaScript:可以使用JavaScript来检测页面是否在iframe中运行,并在发现页面在iframe中时,修改主页面。 4. 向第三方网索要协议:与第三方网进行协商,要求其遵守协议,不得篡改主页面,从而保护主页面的链安全。 综上所述,以上方法可以有效地保护主页面不被iframe嵌入的第三方页面修改。 ### 回答2: 为了避免iframe嵌入的第三方页面修改主页面的链,可以采取以下方法: 1. 使用X-Frame-Options标头:通过在主页面的响应头中设置X-Frame-Options标头,可以控制主页面是否可以被嵌入到iframe中。设置为SAMEORIGIN表示只允许同源页面嵌入,从而防止第三方页面修改主页面。 2. 使用Content-Security-Policy:通过在主页面的响应头中设置Content-Security-Policy标头,可以限制第三方页面的操作权限。可以使用frame-ancestors指令来限制iframe嵌入的来源,只允许指定的源点进行嵌入。 3. 前端检测机制:在主页面的前端代码中加入检测机制,判断当前页面是否处于iframe中,并且对于非法修改链的情况进行拦截处理。可以使用window.top对象来判断当前页面是否被嵌入于iframe中,如果是则触发相应的安全措施。 4. 后端验证:在服务器端对主页面的请求进行验证,比如通过验证Referer字段来判断是否是合法的请求来源。如果发现请求来自非法的来源,可以返回错误页面或者进行其他相应的处理。 综上所述,通过设置X-Frame-Options标头、Content-Security-Policy标头,前端的检测机制以及后端的验证等多个方法可以帮助避免iframe嵌入的第三方页面修改主页面。这些措施能有效保护主页面不受不受恶意代码的篡改。 ### 回答3: 要避免iframe嵌入的第三方页面修改主页面,可以采取以下方法: 1. X-Frame-Options:在HTTP响应头中设置X-Frame-Options为SAMEORIGIN或DENY,可以限制页面只能在同源页面或不允许被嵌入到任何页面中。 2. Content Security Policy(CSP):通过设置CSP的frame-ancestors指令为'none'或特定的域名,能够限制页面只能在指定的来源被嵌入。 3. JavaScript检测和限制:在主页面中使用JavaScript代码来检测是否被嵌入到iframe中,并对链进行限制。可以通过判断window对象的top属性是否等于自身来判断是否在顶层窗口,如果不相等,则说明被嵌入到了其他页面中。 4. 安全沙箱:可以将第三方页面嵌入到一个沙箱环境中,通过设置沙箱的属性和限制,可以限制第三方页面对主页面的修改和操作。 5. 后端验证:在主页面的服务器端进行验证,确保链和代码的完整性。可以通过请求头中的Referer字段来判断来访来源是否合法,或者通过生成一次性的认证令牌来验证访问的合法性。 综上所述,通过使用X-Frame-Options、CSP、JavaScript检测、安全沙箱以及后端验证等方法,我们可以有效地避免iframe嵌入的第三方页面修改主页面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值