以下のメソッドはすべて、実装もハッキングも比較的簡単です。Firebug を持っていて少し知識がある人は、まばたきさえしません。
次の JavaScript は Mootools を使用しており、バグがないことを確認していません。JQ の構文はほとんど同じであり、生の JS も十分に似ていることを理解しているので、その点は明らかです。
1)フォームがAJAX経由で送信されている場合は、送信する前に確認できます(明らかなことを言っているだけなら申し訳ありません)。
var sent = 0;
$('myForm').addEvent('submit', function(){
if(!sent) this.send();
})
これは本当に簡単で、ページをリロードするまでは驚くほど効果的です。
2) JavaScript クッキーを追加します。繰り返しますが、Mootools を使用すると:
$('myForm').addEvent('submit', function(){
if(Cookie.read('submitted')){ alert('once only'); return false;}
else{ Cookie.write('submitted', 1); return true; }
})
これは、ユーザーがページをリロードしても機能します。
3) Python セッション Cookie を追加します。私は Python に詳しくありませんが、PHP のようなものであれば、方法 2 よりも利点はありません。どちらの場合でも、ユーザーは FireCookie または WebDeveloper Toolbar (または他のブラウザーの同等のもの) を使用して Cookie を削除し、ページをリロードできます。 .
4) Flash Cookie を追加します (Flex を使用)。これは理想的です。Flash Cookie は別の場所に保存され、わかりにくく、削除するのが非常に困難です。唯一の欠点は、小さな SWF を作成して埋め込む必要があることです。
5) 非表示フィールドに値を格納し、値を確認します。内部リンクにハッシュを追加して、ページが移動された場合でも値が入力されたままになるようにすることができます。
6) 訪問者ごとに URL (または htaccess を使用したカスタム URL) をインクリメントして、他のゲームをプレイできます。
swf Cookie は、他のものと組み合わせることができますが、上記の最良のアイデアです。