csdn下载是怎么隐藏链接的?
- JScript code
<div class="xiazai">
<h5>
<img width="172" height="26" class="downnew" id="btndownload_dx" alt="" src="images/dianxin.gif"/>
<br/>
<img width="172" height="26" class="downnew" id="btndownload_wt" alt="" src="images/wangtong.gif"/>
<!-- <img id="btndownload" alt="" src="/images/pic_2.gif" /> -->
</h5>
<iframe name="iframe_data" style="display:none;"> </iframe>
<form name="downLoad_wt" id="downLoad" method="post" action="http://d.download.csdn.net/index.php/new/download/dodownload/2303821/hxhxd/93ea63ec8bc2ad0643e1ba58d38347ad" target="iframe_data">
<input name="ds" value="wt" type="hidden">
</form>
<form name="downLoad_dx" id="downLoad" method="post" action="http://d.download.csdn.net/index.php/new/download/dodownload/2303821/hxhxd/93ea63ec8bc2ad0643e1ba58d38347ad" target="iframe_data">
<input name="ds" value="dx" type="hidden">
</form>
<p>
<a href="http://vip.csdn.net/download.aspx?ID=2303821" onclick='LogClickCount(this,171);' target="_blank">《程序员》VIP会员免积分下载 </a>
<br/>
<dfn id="dfnscore"> </dfn>
<br/>
<a href="http://download.csdn.net/source/2303821#acomment" target="_blank">下载后评价,轻松获取积分 </a>
</p>
</div>
下面是需要的js代码:
<script type="text/javascript">
<!--
$(function() {
$("#btndownload_wt").css("cursor","pointer");
$("#btndownload_dx").css("cursor","pointer");
$("#btndownload_wt").click(function(){
if(2 >0)
{
if(!confirm('下载该资料将扣除2分,进行评分后会归还您的分数。\n\n重复下载不会重复扣分。是否继续?'))
return false;
}
document.downLoad_wt.submit();
});
$("#btndownload_dx").click(function(){
if(2 >0)
{
if(!confirm('下载该资料将扣除2分,进行评分后会归还您的分数。\n\n重复下载不会重复扣分。是否继续?'))
return false;
}
document.downLoad_dx.submit();
});
$.getJSON("http://download.csdn.net/index.php/rest/users/getcurruserinfo?jsoncallback=?",
function(data){
if(data.username!='')
{
$("#dfnscore").html("你目前积分:"+data.score);
if(data.score>=0 && data.score <=20)
{
//alert("你的积分不多了,记得要上传资源赢取积分哦!");
var btn=document.getElementById('close');
btn.className='popup';
$("#close").show();
}
if(data.score <0)
{
alert("您的积分已经是负数了,不能下载有分资源!");
}
}else
{
$("#dfnscore").html("下载请先 <a href=\"http://passport.csdn.net/UserLogin.aspx?from=http://d.download.csdn.net/down/2303821/hxhxd\" target=_blank>登录 </a> <a href=\"http://passport.csdn.net/CSDNUserRegister.aspx\" target=_blank>免费注册 </a>");
}
});
});
function closes(btn,style)
{
var btn=document.getElementById(btn);
btn.className=style;
}
// -->
</script>
这是分析的代码
[解决办法]
通过后台的,也就是说并非是简单的通过js来控制显示和隐藏的。
具体的做法很多种。
[解决办法]
应该不是通过JS隐藏的,JS做不到真正的隐藏
[解决办法]
最烂的方法是:通过验证后在后台输出一段JS Response.write("<script>...</script>");
在这里加上那个链接
稍微好点的方法还有:
1、asp.net里面设置linkbutton的visible = false or true;
2、普通的通过ajax返回一段字符串,然后在前台执行加载。
===
[解决办法]
mark.学习一下
[解决办法]
通过访问ASP/PHP页面,ASP/PHP页面对用户登录信息进行验证,如需积分则扣除积分,执行完一系列操作后通过ASP/PHP脚本向客户端发送要下载的文件,这种做法对隐藏下载地址很有效,别人得到的只是ASP/PHP页面的地址,ASP/PHP中可以在服务器端做验证,防止盗链和非法下载。缺陷则是占用系统资源比较高
[解决办法]
像在CSDN下载的文件,用迅雷下载完后看任务属性,URL一样是
http://dlwt.csdn.net/fd.php?i=8638307&s=********************************
这样一个PHP页面的URL,根本得不到文件的实际路径,要下载必须通过这个PHP文件,这个PHP文件对用户的下载权限验证不通过就无法下载
[解决办法]
学习一下 ,呵呵