Anti-bot Registration Puzzles or Images? - نوشته شده در (2216 Views)
Starting Member
jamminjames
مطلب: 21
21
I can't find any Mods on this in the forum -- has anyone written an anti-bot registration puzzle or image mod? Keeping up with these idiot porn-pushing registrations is a chore...
 پیش‌فرض مرتب‌سازی برای تاریخ DESC به معنی جدیدترین است  
 تعداد در صفحه 
نوشته شده در
Advanced Member
Carefree
مطلب: 4224
4224
Search for "CAPTCHA"
نوشته شده در
Starting Member
jamminjames
مطلب: 21
21
leatherlips,

I checked out yours and it looks good, I'd like to use it. But when I downloaded the files at http://www.snitzbitz.com/mods/details.asp?Version=All&mid=139 and went to make the changes to inc_profile.asp as the instructions say, the section it describes to place the new code is not there, at least not as they have it. They say there's a section above line 507 that starts with:

if strAUAnon = "1" then

but there is nothing in the whole file with "strAUAnon" in it. There are also other phrases they mention that should be there that are not. Therefore, I don't know where to put the new code. Please help. Thanks.
نوشته شده در
Senior Member
leatherlips
مطلب: 1838
1838
If I remeber right, those instructions assume you have the active users mod installed. Here is where you should place the code if you don't have that mod installed:

In inc_profile.asp look for the second instance of:

Code:
if Request.Form("Method_Type") = "Modify" then
ABOVE that add:
Code:
'########################
'## Anti-Spam Code Start
'########################

'We check that the page calling the profile is the register.asp

If Right(Request.Servervariables("SCRIPT_NAME"),12) = "register.asp" then
'Defining the randomized code
'We define the number of images to show

HowManyNbr = 6

'We loop through the Number Generating to get all the HowManyNbr

NumbersToShow = ""
Randomize

For I = 1 to HowManyNbr
NumbersToShow = NumbersToShow & Fix(9*Rnd)
Next

'We will now decode the randomized numbers (Very Simple)
RandomizedCode = NumbersToShow * 50000 - 17456

'We genearte the table now

Response.Write " <tr>" & vbNewLine & _
" <td valign=""top"" align=""center"" colspan=""2"" bgcolor=""" & strCategoryCellColor & """><b><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strCategoryFontColor & """>Registration Anti SPAM Confirmation</font></b></td>" & vbNewLine & _
" </tr>" & vbNewLine & _
" <tr>" & vbNewLine & _
" <td bgColor=""" & strPopUpTableColor & """ colspan=""2""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>" & vbNewLine & _
"Your unique registration code</b><br>If you do not see any numbers, or see broken "& vbNewLine & _
"images, please contact a board administrator to rectify the problem.</td>"& vbNewLine
Response.Write " </font></td>" & vbNewLine & _
" </tr>" & vbNewLine & _
" <tr>" & vbNewLine & _
" <td bgColor=""" & strPopUpTableColor & """ colspan=""2""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>" & vbNewLine
Response.Write "<input type='hidden' name='regid' value='"& RandomizedCode &"'>"& vbNewLine
'We now define the images
'Again we loop through to get the image number
NullStop = False
Response.Write " </tr>" & vbNewLine & _
" <tr>" & vbNewLine & _
" <td bgColor=""" & strPopUpTableColor & """ align=""right"" valign=""middle"" nowrap width=""10%""><b><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><font color=""" & strHiLiteFontColor & """></font> </font></b></td>" & vbNewLine & _
" <td bgColor=""" & strPopUpTableColor & """><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>" & vbNewLine
For I = 1 to HowManyNbr
Response.Write "<img src='register.asp?code=image&rc=" & RandomizedCode &"&p=" & I & "' border='0' alt='Code'>"& vbNewLine
Next
Response.Write " </tr>" & vbNewLine & _
" <tr>" & vbNewLine & _
" <td bgColor=""" & strPopUpTableColor & """ colspan=""2""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>" & vbNewLine & _
"<b>Confirm registration code</b><br>To prevent mass registration programs from registering " &_
"accounts, please enter the 6 digit code shown above in image format.<br>Note: Only numbers are " & _
" allowed, a '0' is a numerical zero, not the alphabetical 'O'.</td>"& vbNewLine
Response.Write " </font></td>" & vbNewLine & _
" </tr>" & vbNewLine & _
" <tr>" & vbNewLine & _
" <td bgColor=""" & strPopUpTableColor & """ align=""right"" valign=""middle"" nowrap width=""10%""><b><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """><font color=""" & strHiLiteFontColor & """>*</font> </font></b></td>" & vbNewLine & _
" <td bgColor=""" & strPopUpTableColor & """><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """>" & vbNewLine & _
" <input type='text' size='7' maxlength='6' name='reg_code' class='forminput'>" & vbNewLine
Response.Write " </font></td>" & vbNewLine & _
" </tr>" & vbNewLine
End If

'#######################
'## Anti-Spam Code - END
'#######################
If you need more help let me know.
نوشته شده در
Starting Member
jamminjames
مطلب: 21
21
Thanks, but the info they give for the register.asp file is also off, so it's hard to tell where to insert that code as well.
نوشته شده در
Senior Member
leatherlips
مطلب: 1838
1838
نوشته شده در
Senior Member
leatherlips
مطلب: 1838
1838
Here you go.
In register.asp look for:

Code:
Dim strURLError
ABOVE that add:

Code:
'###################
'## Antispam Start
'####################
'We now set the code
strRCCode = Request.QueryString("rc")
strRC = Request.QueryString("code")
strRCP = Request.QueryString("p")

If strRC = "image" then
NullStop = False
RandCode = (strRCCode + 17456) / 50000
lenCode = Len(RandCode)
If LenCode < 6 and Nullstop = False then
For J = 1 to (6 - LenCode)
NullRC = NullRC & "0"
Next
NullStop = True
End If
RandCode = NullRC & RandCode
ImageP = Mid(RandCode, strRCP,1)
Response.Redirect "images/" & ImageP & ".gif"
Else
'#####################
'## Antspam End
'#####################
Then look for:

Code:
if Request.Form("Password") <> Request.Form("Password2") then
Err_Msg = Err_Msg & "<li>Your Passwords didn't match.</li>"
end if
end if
AFTER that add:

Code:
'###########################
'#### Antispam Error Start
RandCode = Request.Form("reg_code")
strRCCode = Request.Form("regid")
RandCode2 = (strRCCode + 17456) / 50000
lenCode = Len(RandCode2)
NullStop = False
If LenCode < 6 and Nullstop = False then
For J = 1 to (6 - LenCode)
NullRC = NullRC & "0"
Next
NullStop = True
End If
RandCode2 = NullRC & RandCode2

If RandCode <> RandCode2 then
Err_Msg = Err_Msg & "<li>The registration code you have enterd is not correct!</li>"
End If
'#### Antispam Error End
'########################
Then look for the third instance of:

Code:
WriteFooter
AFTER that add:

Code:
'#### Antispam modification
end if
'#### Antispam End
Lastly, make sure the number image files are where all of your other forum images are, most likely a folder named images.
نوشته شده در
Starting Member
jamminjames
مطلب: 21
21
Worked perfectly! Thank you so much for all your help! I'm surprised Snitz doesn't include CAPTCHA code like this from the start, as the spammers are a real problem.
نوشته شده در
Support Moderator
Shaggy
مطلب: 6780
6780
There are other anti-spam features included in the latest version of Snitz that do not inconvenience real members.
Search is your friend “I was having a mildly paranoid day, mostly due to the
fact that the mad priest lady from over the river had
taken to nailing weasels to my front door again.”
 
شما باید یک متن وارد کنید