计时器喜欢rapidshare / hotfile

时间:2011-01-30 02:08:51

标签: php javascript timer

我需要像hotfile / rapidshare这样的计时器,它会在完成一段时间后显示下载按钮。下载按钮将有一个PHP链接。我该怎么做?这是否是防篡改证明(如果我有一个noscript标签)?

更新:感谢ŠimeVidas

我想出了

<script type="application/javascript">
function loop(d) {
    var n = +d.innerHTML;

    if ( n > 0 ) {
        d.innerHTML = n - 1;
        setTimeout(function() { loop(d); }, 1000);  
    }

    else
    window.location=<?php echo '"http://localhost/";'; ?>

}

loop( document.getElementById('time') );
</script>

这可以吗?它可以被篡改吗?假设启用了javascript。

更新2:感谢 RAYNOS
任何人都可以解释如何使用php执行他的方法吗?

3 个答案:

答案 0 :(得分:0)

function loop(d) {
    var n = +d.innerHTML;

    if ( n > 0 ) {
        d.innerHTML = n - 1;
        setTimeout(function() { loop(d); }, 1000);  
    }
}

loop( document.getElementById('time') );

演示: http://jsfiddle.net/LYHW7/

答案 1 :(得分:0)

  

它可以被篡改吗?

当然!你只需要为GreaseMonkey编写一个快速而又脏的脚本,它将计时器中的文本设置为0 ......

在显示评估60s实际已过期的链接之前,您应该有一些服务器端控制。


PS:

  

假设启用了javascript。

那么,会发生什么呢?

答案 2 :(得分:0)

您在客户端上写的任何内容都可能被篡改。

您需要向服务器发送一条消息“计时器启动”。 (Ajax,回发,无论你想要什么)

然后您需要服务器和客户端都计数到60.一旦客户端完成它,它就会向请求该文件的服务器发送一条消息。

服务器会告诉你60秒已经过去并发送给你文件,否则它会告诉你你已经作弊,你可以惩罚用户以及你认为合适的方式。 (重定向到谷歌总是好的。)