|
微盾防盗链专家 V3.2.3.1064
版本为计算方式为“变化方式(相同的访问IP,随机产生不同的VSID)”增加了“VSID使用一次后,立刻作废”功能。
该功能特别适合“在线试听”类网站!
如下图所示:

使用注意事项:
1,开启“VSID使用一次后,立刻作废”功能时,建议“有效时间”选择“使用用户 IP 地址作为有效时间的替换值”。
2,因为随机产生的 VSID 使用一次就作废了,所以建议您一个网页内仅且只能放置一个被保护资源。
解释一下:例如您的网站是“在线音乐试听站”,建议一个试听页面内放置一首试听音乐,如果放置两首或者两首以上那么只有第一首歌曲可以被播放。
3,当一个页面必须放置两个或两个以上的被保护资源时,建议您做如下操作。
第一:可以在调用新的资源时刷新页面。
第二:用 IFRAME 的方法来刷新 VSID 页面,获取新的 VSID。详见下面的“IFRAME
刷新代码”。
IFRAME 刷新代码
下面的代码仅为开发人员提供。
| |
<script
language="JavaScript">
/**
* 获取新的 VSID
*/
function getvsid_from_vwiframe()
{
var sNewVsid
= "";
var oFrame
=
document.getElementById("id_vsidiframe");
var sRand
=
parseInt( Math.floor(
( Math.random()
)*10000 ) );
var sVName
= "";
var sVHtmlUrl
= "/_sys_vw.html?js=yes&vname="
+ sVName;
var nPos;
try
{
if (
oFrame )
{
// refresh iframe
oFrame.src
= sVHtmlUrl
+ "&t="
+ sRand;
// 刷新 iframe 获取的新的 VSID
您可以用将其作为参数添加在资源 URL 的后面
nPos
=
document.cookie.indexOf(
"virtualwall=vsid=" );
if ( -1
!= nPos )
{
sNewVsid =
document.cookie.substr(
nPos + 18 );
nPos = sNewVsid.indexOf(
";" );
if ( -1
!= nPos )
{
sNewVsid = sNewVsid.substr(
0, nPos );
}
}
}
}
catch( e )
{
}
return sNewVsid;
}
function get_url_with_new_vsid(
sUrl )
{
// 默认情况下使用 COOKIE
传递就可以了,不一定非要在每个资源 URL 后面添加上 vsid 参数
// 如果服务端的防盗链专家配置了“接受来自 COOKIE 的 VSID 的话”,那么您仅仅需要简单调用一下
getvsid_from_vwiframe() 即可,无需修改播放链接
return ( sUrl
+ "?vsid="
+ getvsid_from_vwiframe() );
}
/**
* 这个函数仅仅是为了演示
* 实际中这个函数可能是某个页面连播列表的下一首歌曲控制函数。
*/
function refresh_player()
{
var sUrl =
"girl_of_my_dreams.mp3";
var sUrlWithVsid
= get_url_with_new_vsid( sUrl
);
document.getElementById("mediaplayer").FileName
= sUrlWithVsid;
}
</script>
<iframe name="vsidiframe" id="id_vsidiframe"
width=0 height=0 src="/_sys_vw.vhtml"></iframe>
<input type=button onclick="JavaScript:refresh_player();"
value=" 播放下一首 " />
<object id="mediaplayer"
classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,0,5,0803"
standby="Loading Windows Media Player components..."
type="application/x-oleobject" style="border:1px solid
#666666;">
<param name="FileName"
value="girl_of_my_dreams.mp3">
</object>
|
|