2011-01-30 3 views
0

一定時間の完了後にダウンロードボタンを表示するhotfile/rapidshareのようなタイマーが必要です。ダウンロードボタンにはPHPへのリンクがあります。これについてどうすればいいですか?これは不正な証拠になりますか(私がnoscriptタグを持っていれば)?タイマーのようなrapidshare/hotfile

UPDATE:サイムVIDASのおかげ

私は

<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が有効であると仮定します。

UPDATE 2:私はPHPを使用して彼の方法を実行することができますどのようにレイノス
のおかげでany1説明できますか?

+0

これまでに何がありますか?誰もあなたのためにこれをすべて書くつもりはありません。 –

+1

私は、setTimeoutを使って簡単なタイマーを作ることをお勧めします。ダウンロードのURLは、ユーザーが実際に十分に長く待っていることを確認するPHPファイルによって保護されていなければなりません –

答えて

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/

0

それが改ざんすることはできますか?

確かに!タイマーのテキストを0に設定するGreaseMonkeyの素早く汚れたスクリプトを書くだけでいいです...

実際に有効期限が切れたことを評価するためのリンクを表示する前に、サーバーサイドのコントロールが必要です。


PS:

はJavaScriptが有効になっていると仮定。

それではどうなりますか?

0

あなたがクライアントに書き込むものはすべて改ざんできます。

「タイマー開始」というメッセージをサーバーに送信する必要があります。 (Ajax、ポストバック、任意のもの)

次に、サーバーとクライアントの両方が60になるようにする必要があります。クライアントが終了すると、ファイルを要求するサーバーにメッセージが送信されます。

サーバーは、60秒が経過してファイルを送信するか、またはあなたが不正行為をしたことを通知し、ユーザーを適切な方法で罰することができます。 (Googleへのリダイレクトは常に良いです)。

関連する問題