1

サインアップするための登録フォームがありますが、これは正常に機能します。悪用/ボット防止の一環として、最後の 3 時間以内に同じ IP アドレスから別のアカウントにサインアップしようとすると、登録ページにアンチスクリプト チェックが表示されます。

ただし、このチェックを回避するスクリプトを手に入れることができました。このスクリプトは、Windows 上の firefox のマクロ拡張機能を使用して実行できます。email.txt を電子メール アドレスのソースとして使用します。

email="email.txt"
akun=new Array()
ID=new Array()

for(ns=1;ns<=2000;ns++){
iimPlay("CODE:"
+"\n"+"CMDLINE !DATASOURCE "+email
+"\n"+"SET !DATASOURCE_COLUMNS 1"
+"\n"+"SET !LOOP "+(ns)
+"\n"+"SET !EXTRACT {{!COL1}}")
akun[ns]=iimGetLastExtract();if(akun[ns]==""||akun[ns]=="undefined"||akun[ns]=="#eanf#")
{break}
ID[ns]=akun[ns].replace("@yahoo.com","")


i=iimPlay("CODE:"
+"\n"+"URL GOTO=http://www.website.com/signup"
+"\n"+"TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:email CONTENT="+akun[ns]
+"\n"+"TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:confirm CONTENT="+akun[ns]
+"\n"+"TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:username CONTENT="+ID[ns]
+"\n"+"SET !ENCRYPTION NO"
+"\n"+"TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:NoFormName ATTR=NAME:password CONTENT=satan1234"
+"\n"+"TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:NoFormName ATTR=NAME:confirm_password CONTENT=satan1234"
+"\n"+"TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:NoFormName ATTR=NAME:referral CONTENT=52799"
+"\n"+"TAG POS=1 TYPE=INPUT:CHECKBOX FORM=NAME:NoFormName ATTR=NAME:tos CONTENT=YES"
+"\n"+"pause"
+"\n"+"TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:street-register ATTR=NAME:register&&VALUE:Play<SP>For<SP>Free<SP>→"
+"\n"+"TAG POS=1 TYPE=A ATTR=TXT:Logout"
)
if(i!=1){break};
iimDisplay (ns)
}

このスクリプトが際限なく機能するのを止める方法について、誰か頭を上げてもらえますか?

ありがとう

4

1 に答える 1

1

すべてのリクエストは同じ IP アドレスから発信されているため、ロジックでサーバー側のチェックを行ってください。すでに出されたリクエストをどこかに保存する必要があります。次に、これらの値に対してサーバー変数「リモート アドレス」をチェックします。過去 3 時間以内にすでにリクエストを送信している場合は、それを拒否し、それ以上処理しないでください。

クライアント側のスクリプトに依存しないでください。また、クライアントのリクエストによって渡された値はすべて操作できるため、依存しないでください。

于 2012-11-06T09:44:50.053 に答える