2012-11-06 101 views
1

我有注册表单来注册哪些工作正常。作为滥用/防止机器人的一部分,如果您在最后3小时内尝试从同一个IP地址注册另一个帐户,注册页面将显示反注册检查。防止JavaScript hack脚本执行

但是我设法弄到了一个正在设法检查这个检查的脚本。该脚本可以在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) 
} 

任何人都可以提出一个关于如何阻止这个脚本无休止地工作吗?

感谢

+0

它是如何绕过你的支票?请求是否来自同一个IP地址,然后取消请求(在服务器端)。如果它们来自不同的IP地址,则可能无法很容易地阻止它。 –

+0

使用此脚本创建的所有帐户都源自相同的IP地址。 –

+1

如果他们都来自同一个知识产权,那么你的做法是错误的,以防止滥用。 – sberry

回答

1

由于所有的请求都来自同一个IP地址发送,请DOA服务器端检查你的逻辑。某处你应该存储什么请求已经被放置。然后根据这些值检查服务器变量“远程地址”。他们是否已经在过去的3个小时内发出请求,然后拒绝它,并且不再进行处理。

不要依赖客户端脚本。也不要依赖客户请求传递的任何值,因为它们都可以被操纵。