如何防止他人直接打开网页并实现跳转
1、方法一:
适合引用型网页的代码
<head>
<meta http-equiv="content-type" content="text/html;charset=gbk">
<script type="text/javascript">
if(top==self){window.location="输入你需要转发的指定网址"}
window.onerror = function(){return true}
function $id(sid){
return document.getElementById(sid);
}
function contextMenu() {
window.event.returnValue=false;
if (window.event.preventDefault) window.event.preventDefault()
}
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) {return unescape(arr[2]);}
return '';
}
function setCookie(name, value, n) {
var expdate = new Date;
expdate.setTime(expdate.getTime() + n*1000);
document.cookie = name + ("=" + escape(value) + ";expires=" + expdate.toGMTString() + ";path=/;");
}
var classstr = "";
var channelstr = "";
var u = document.URL;
</script>
</head>
2、这段代码只适用于调用类型的网页,简单的说 就是这个网页只能通过调用来实现,如果不是调用网页直接转到您指定的网站!
if(top==self){window.location="输入你需要转发的指定网址"}
这段代码就是关键,就是当你的网页的TOP和self相等时执行下面的操作!
3、Ajax 异步提交表单时,需返回状态信息或者请求的数据,需刷新当前页面。
但把需要返回的如分页、过滤的参数写在控制器的参数里面,这样会比较麻烦。
因此可以在控制器里面使用 Request 对象的请求的URL. Request.UrlReferer.
if (Request.UrlReferrer != null)
{
var returnUrl = Request.UrlReferrer.ToString();
return new RedirectResult(returnUrl); //返回当前请求的URL。
}