页面盗链问题
我的站是123.com但其他的站直接链接我的站的比如123.com/123.html有没有办法防止呢,只有从123.com进入才可以正常浏览,浏览123.com/123.html的话,会提示错误信息 --------------------编程问答-------------------- 检查cookie,或者检查referrer之类都可以。http://www.baidu.com/s?wd=site%3Acnblogs.com+%B7%C0%B5%C1%C1%B4&cl=3
搜索一下这方面的文章. --------------------编程问答-------------------- protected void Page_Load(object sender, EventArgs e)
{
string refUri = Request.UrlReferrer.ToString();
System.Text.RegularExpressions.Regex rgx = new System.Text.RegularExpressions.Regex(@"https?://(\w+\.)*123.com(/w+)*", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if (!rgx.IsMatch(refUri))
Response.Redirect("http://www.123.com");
}
--------------------编程问答-------------------- 可以下载我们的 devmsIISTools 试试. 里面有防盗链设置, 可以防止http头提交.检测 refer 是做不到防止http头提交的.
当然,如果你没有iis设置权限,那就免了. --------------------编程问答-------------------- 打错了. 检测修改http头提交. --------------------编程问答-------------------- 找了下都是防下载的,能不能给我一个具体的方法呢,谢谢您 --------------------编程问答-------------------- http://blog.csdn.net/mythmgn/archive/2007/08/13/1740933.aspx
参考下 --------------------编程问答-------------------- </head>
<body><form id="form1" runat="server">
</form>
<script type="text/javascript">
protected void Page_Load(object sender, EventArgs e)
{
string refUri = Request.UrlReferrer.ToString();
System.Text.RegularExpressions.Regex rgx = new
System.Text.RegularExpressions.Regex(@"https?://(\w+\.)*123.com(/w+)*",
System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if (!rgx.IsMatch(refUri))
Response.Redirect("http://www.123.com");
}
</script>
</body>
</html>
我这样加的,但不起作用啊,是不是我代码错误 --------------------编程问答-------------------- 大侠们帮下啊 --------------------编程问答-------------------- 防下载和防盗链是一个道理。 --------------------编程问答-------------------- </head>
<body> <form id="form1" runat="server">
</form>
<script type="text/javascript">
protected void Page_Load(object sender, EventArgs e)
{
string refUri = Request.UrlReferrer.ToString();
System.Text.RegularExpressions.Regex rgx = new
System.Text.RegularExpressions.Regex(@"https?://(\w+\.)*123.com(/w+)*",
System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if (!rgx.IsMatch(refUri))
Response.Redirect("http://www.123.com");
}
</script>
</body>
</html>
那这段代码错在哪里呢,麻烦帮指出下 --------------------编程问答-------------------- LZ没有CS文件的吗?Page_Load都是在CS文件里面的啊。。。 --------------------编程问答-------------------- TO 10#
如果页面来源不是本站的aspx页面,那么request.UrlReferrer将是空的,你要先判断,如果是null,那么表示来源非本门. --------------------编程问答-------------------- mark
--------------------编程问答-------------------- 加<%@ Page Language="C#" %>
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
string refUri = Request.UrlReferrer.ToString();
System.Text.RegularExpressions.Regex rgx = new
System.Text.RegularExpressions.Regex(@"https?://(\w+\.)*123.com(/w+)*",
System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if (!rgx.IsMatch(refUri))
Response.Redirect("http://www.123.com");
}
</script>
补充:.NET技术 , ASP.NET