I would like someone to write a mod (unless there is already something around) for the pending members page so that if select to delete someone's pending approval that it adds their email to an automatic banned list at the same time, which can then be checked during the registration process
I would do it myself, but just don't have the time at the moment.
Well, what I mean is in addition to what you are requesting. As in, maybe it will help in making an informed decision. Perhaps, have an additional column to flag known spammers with a description like "Black Listed As SPAM Threat" i.e. BLAST or something like that. Just a thought.
What kind of columns were you wanting for the banned list, Huw?
just the email address would be fine, I just want to prevent people re-registering with the same email address after I have deleted the pending registration, currently the only way is to allow the registration and then lock the account which is a bloody pain in the arse.
Save following as dbs_banmail.asp and run from Admin:
Banned Email 1.0
[DROP]
BANNED
[END]
[CREATE]
BANNED
BANNED#VARCHAR(75)###
[END]
Next, in "register.asp", look for the following lines (appx 406-409 after security fixes):
if Request.Form("Email") <> Request.Form("Email3") then
Err_Msg = Err_Msg & "<li>Your E-mail Addresses didn't match.</li>"
end if
end if
After them, insert the following:
strSql="SELECT BANNED FROM " & strTablePrefix & "BANNED"
set rsMailCheck=my_Conn.Execute(strSql)
if not rsMailCheck.EOF then
rsMailCheck.MoveFirst
do until rsMailCheck.EOF
if Request.Form("Email") = rsMailCheck("Banned") then
' Banned Account
Err_Msg = Err_Msg & "<li>E-mail Address is Banned on this Server.</li>"
end if
rsMailCheck.MoveNext
loop
rsMailCheck.Close
end if
set rsMailCheck=Nothing
Finally, in "admin_accounts_pendng.asp", look for the following line (appx 187):
elseif strAction = "delete" then
After it, insert the following:
strSql = "SELECT M_EMAIL FROM " & strMemberTablePrefix & "MEMBERS_PENDING WHERE M_STATUS = 0 AND M_LEVEL = -1"
set rsBanned = my_Conn.Execute(strSql)
if not rsBanned.EOF then
rsBanned.MoveFirst
do until rsBanned.EOF
strSql = "INSERT INTO " & strTablePrefis & "BANNED (BANNED) VALUES ('" & rsBanned("M_EMAIL") & "')"
rsFinished=my_Conn.Execute(strSql)
rsBanned.MoveNext
loop
rsBanned.Close
end if
set rsBanned=Nothing