Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 防止javascript黑客脚本执行_Php_Javascript_Firefox_Macros - Fatal编程技术网

Php 防止javascript黑客脚本执行

Php 防止javascript黑客脚本执行,php,javascript,firefox,macros,Php,Javascript,Firefox,Macros,我有一份登记表要注册,它很好用。作为防止滥用/bot的一部分,如果您试图在最后一次注册后的3小时内从同一IP地址注册另一个帐户,注册页面将显示反脚本检查 然而,我已经设法得到了一个脚本,它正设法绕过这一检查。该脚本可以在Windows上通过firefox的宏扩展运行。它使用email.txt作为电子邮件地址的来源 email="email.txt" akun=new Array() ID=new Array() for(ns=1;ns<=2000;ns++){ iimPlay("CODE

我有一份登记表要注册,它很好用。作为防止滥用/bot的一部分,如果您试图在最后一次注册后的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)
}
email=“email.txt”
akun=新数组()
ID=新数组()

对于(ns=1;ns由于所有请求都来自同一IP地址,请在服务器端检查您的逻辑。您应该在某个地方存储已发出的请求。然后检查服务器变量“remote address”根据这些值。他们在过去3小时内是否已提出请求,然后拒绝该请求,不再进一步处理该请求


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

由于所有请求都来自同一IP地址,请在服务器端使用逻辑进行检查。您应该在某个地方存储已放置的请求。然后检查服务器变量“远程地址”与这些值相对应。他们在过去3小时内是否已发出请求,然后拒绝该请求,不再进一步处理该请求


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

如何绕过检查?请求是否来自同一IP地址,然后取消请求(在服务器端)。如果它们来自不同的IP地址,您可能无法如此轻松地阻止。使用此脚本创建的所有帐户都来自同一IP地址。如果它们都来自同一IP,则说明您在防止滥用方面做错了。它如何绕过您的检查?请求是否来自同一IP地址,然后取消请求(在服务器端)。如果它们来自不同的IP地址,您可能无法如此轻松地阻止它。使用此脚本创建的所有帐户都来自同一IP地址。如果它们都来自同一IP,则您在防止滥用方面犯了错误。