Immagini CAPTCHA con ASP senza librerie esterne

vatuss

Nuovo Utente
24 Giu 2009
20
0
1
Buonagiornata a tutti.
Allo scopo di evitare lo spam, sto cercando di implementare in uno script di iscrizione alla m.list con il codice del tutorial nel titolo, questo l'indirizzo: https://www.mrw.it/asp/articoli/immagini-captcha-asp-senza-librerie-esterne_914.html

Il suddetto che funziona alla perfezione è composto di 2 pagine, ed effettua il controllo sulla seconda. A me servirebbe verificare il controllo nella stessa pagina poichè l'iscizione gia verifica l'insermento del nome e dell'email, vorrei aggiungere anche il CAPTCHA.

Poichè non sono in grado di risolvere da solo confido nel vostro aiuto.
Di seguito riporto la pagina modificata che, pur funzionando non rileva la presenza del terzo controllo:

<%
Function RegExpTest(strng)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^[\w\-\.]*[\w\.]\@[\w\.]*[\w\-\.]+[\w\-]+[\w]\.+[\w]+[\w]$"
regEx.IgnoreCase = True
RegExpTest = regEx.Test(strng)
End Function
%>
<%
Function RegExpTest1(strng)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "^[0-9a-zA-Z]+$"
RegExpTest1 = regEx.Test(strng)
End Function
%>
<% response.buffer = true
%><!--#include file="incMail.asp"--><%
dim errore,errore1,errore2,errore3,errore4,errore5,errore6

ERRORE = ""
ERRORE1 = ""
ERRORE2 = ""
ERRORE3 = ""
ERRORE4 = ""
ERRORE5 = ""
ERRORE6 = ""
sub insertUtente()

username=request.form("username")
email=request.form("email")

username=replace(username,"'","''")
email=replace(email,"'","''")
%>
<!--#include file="sqlOpenDB.asp"-->
<%Set rs = Server.CreateObject("ADODB.Recordset")%>
<%

strSQL="SELECT * FROM utenti_iscritti WHERE username = '" & username & "';"

rs.Open strSQL,cn

if not rs.eof then
set rs = nothing
set cn = nothing


ERRORE="Il nome utente che hai specificato esiste gi&agrave;. Scegliere un altro Username."
exit sub

end if
rs.close

Set rs = Server.CreateObject("ADODB.Recordset")
strSQL="SELECT * FROM utenti_iscritti WHERE email = '" & email & "';"
rs.Open strSQL,cn

if not rs.eof then
set rs = nothing
set cn = nothing

ERRORE1="Indirizzo di Email gi&agrave; in uso da un'altro utente."

exit sub

end if
rs.close

dim caratteri,carattere,password

caratteri = "0123456789zxcvbnmasdfghjklqwertyuiop"
Randomize
Do Until len(password) = 10
carattere = Int((37 * Rnd) + 1) ' Genera un valore casuale compreso tra 0 e z.
password = password & Mid(caratteri,carattere,1)
Loop

if request("username") = "" or MID(request("username"),1,1) = " " then
ERRORE2="Inserire il Nome"
exit sub
end if

if len(request("username")) < 3 then
ERRORE3="Minimo tre caratteri per il Nome"
exit sub
end if

username = request.form("username")
if not(RegExpTest1(username)) then
ERRORE4="Solo lettere e numeri per il Nome"
exit sub
end if

if request("email") = "" or MID(request("email"),1,1) = " " then
ERRORE5="Inserire l'email"
exit sub
end if

email = request.form("email")
if not(RegExpTest(email)) then
ERRORE6="Inserire un indirizzo di email Valido"
exit sub
end if

strSQL = "INSERT INTO utenti_iscritti (username, email, password) VALUES ('"
strSQL = strSQL & username & "','" & email & "', '" & password & "')"

cn.Execute(strSQL)

session("username")=username
session("email")=email
session("password")=password

dim Mailto,mailfrom,mailsj,mailbody
Mailto = email
sendMailNews mailfrom, mailto, mailsj, mailbody

set cn = nothing
set rs = nothing
%>
<%
response.redirect("index.asp?az=conferma_mlist")

end sub

if request.form("type") = "I" then call insertUtente()
%>
<!--#include file="sqlOpenDB.asp"-->
<%Set rs = Server.CreateObject("ADODB.Recordset")%><%
strSQL="SELECT * FROM Configurazione where ID_Conf = 1"
rs.Open strSQL,cn

dim objText_color,objText_type,objText_size,objTable_color_1,objTitolo_tabella,objFont_Tabella,objFont_size_tabella,objFont_color_tabella,objColor_titolo_tabella,objColor_tabella_interna
Set objText_color=rs("Text_color")
Set objText_type=rs("Text_type")
Set objText_size=rs("Text_size")
Set objTable_color_1=rs("Table_color_1")
Set objTitolo_tabella=rs("Titolo_tabella")
Set objFont_Tabella=rs("Font_tabella")
Set objFont_size_tabella=rs("Font_size_tabella")
Set objFont_color_tabella=rs("Font_color_tabella")
Set objColor_titolo_tabella=rs("Color_titolo_tabella")
Set objColor_tabella_interna=rs("Color_tabella_interna")

if rs.EOF then
response.write("<h3>Si sono verificati dei problemi durante la lettura della base dati. Riprovate e se il problema si verifica ancora contattate il WebMaster. Grazie.</h3>")
else%>
<html>
<head>
<title> Mailing List </title>
</head>
<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<table id="table1">
<tr valign="top" align="center">
<td>
<%
dim referer
%>
<form action="../home.asp" method="post">
<font face="Tahoma"><span style="font-size: 8pt">
<input type="hidden" name="type" value="I">
<input type="hidden" name="conferma" value="<%= referer %>">
</span></font>
<table border="0" bgcolor="<%'=rs("Color_tabella_interna")%>" align="center" id="table2">
<tr>
<td bgcolor="<%'=rs("Color_titolo_tabella")%>" align="center">
<font face="Tahoma" color="<%'=rs("Font_color_tabella")%>" style="font-size: 8pt"><b><%'=rs("Titolo_tabella")%></b></font><font face="Tahoma" style="font-size: 8pt">
<%if ERRORE <> "" then %>
<%=ERRORE%><%end if %><%if ERRORE1 <> "" then %> <%=ERRORE1%><%end if %><%if ERRORE2 <> "" then %>
<%=ERRORE2%><%end if %><%if ERRORE3 <> "" then %> <%=ERRORE3%><%end if %><%if ERRORE4 <> "" then %>
<%=ERRORE4%><%end if %><%if ERRORE5 <> "" then %> <%=ERRORE5%><%end if %><%if ERRORE6 <> "" then %>
<%=ERRORE6%><%end if %></font></font></td>
</tr>
<tr>
<td bgcolor="<%'=rs("Table_color_1")%>" width="45%">
<font face="Tahoma"><span style="font-size: 8pt">** scrivi il tuo nome:<br>
<input type="text" name="username" value="<%=request.form("username")%>" style="WIDTH: 160px" size="40" maxlength="20">
</span></font>
</td>
</tr>
<tr bgcolor="<%'=rs("Table_color_1")%>">
<td width="45%"><font face="Tahoma">
<span style="font-size: 8pt">* e il tuo indirizzo di e-mail:<br>
<input type="text" name="email" value="<%=request.form("email")%>" style="WIDTH: 160px" size="40">
</span></font>
</td>
</tr>
<tr bgcolor="<%'=rs("Table_color_1")%>">
<td width="45%">
<p align="left">
<!-- inizio del codice CAPTCHA -->
<%
Dim max_num
max_num = 3
Randomize()
Session("captcha") = CInt((max_num - 1) * Rnd() + 1)
%>

<font face="Tahoma"><span style="font-size: 8pt">* inserire codice di controllo:<br>
<input type="text" name="codice" style="WIDTH: 160px" size="40"><br>
<img src="<%=Session("captcha")%>.gif" align="absmiddle">
</span>
</font>
<%
' Dim nominativo, codice, controllo
nominativo = Request.Form("nominativo")
codice = Request.Form("codice")
Select Case Session("captcha")
Case "1" : controllo = "ABC"
Case "2" : controllo = "BCA"
Case "3" : controllo = "CBA"
End Select
%>
<%'If nominativo = "" Then%>
<%If codice <> controllo Then%>
<br><font face="Tahoma"><span style="font-size: 8pt">Inserire il codice di sicurezza!</span></font>
<%End If%>
<!-- fine del codice CAPTCHA -->
</td>
</tr>
<tr bgcolor="<%'=rs("Table_color_1")%>">
<td height="50" align="center">
<font face="Tahoma"><span style="font-size: 8pt">
<input type="submit" value=" Iscriviti ">
</span></font>
</td>
</tr>
</table>
<font face="Tahoma" style="font-size: 8pt">
<% If Session("Admin") then %>
</font>
<!--
<table width="60%" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="<%'=rs("Table_color_1")%>" id="table4">
<tr align="center">
<td><font face="Tahoma" style="font-size: 8pt"><% If Session("Admin") then %><font color="<%'=rs("Text_color")%>">Amministrazione</font><% End If %><br>
<br>
<% If Session("Admin") then %><a href="logout.asp">Log Out</a><br>
<% End If %><br>
<% If Session("Admin") then %><a href="amministrazione.asp">Pagina Amministrazione</a><br>
<% End If %><br>
</font>
</td>
</tr>
</table>
-->
<font face="Tahoma" style="font-size: 8pt">
<% End If %>
</font>
</form>
<font face="Tahoma" style="font-size: 8pt">
<%
end if
Set cn = nothing
Set rs = nothing
%>
</font>
</td>
</tr>
</table>


</body>
</html>
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [VB.NET]: Coordinate immagini dentro una PictureBox Visual Basic 0
G Perché il mio sito su Google news fa vedere le immagini degli articoli la mia foto profilo? WordPress 1
M Immagini non usate WordPress 0
elmonarca77 Utilizzo e licenze immagini Webdesign e Grafica 4
S Risoluzione Immagini e Connessione Joomla 0
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
A WordPress e immagini Hosting 0
Y RITAGLIO IMMAGINI Javascript 0
R Immagini html HTML e CSS 2
E Come gestire al meglio le immagini legno grande formato Photoshop 0
M Random Immagini + Testi PHP 13
L form immagini per il database PHP 0
Ricky80 Coordinazione immagini HTML e CSS 4
P Percorsi e immagini. PHP 0
N Indicizzazione immagini su Google Google Search Console 0
L Import Immagini piattaforma IONIC Sviluppo app per Android 0
L Import massivo di immagini in tabelle piattaforma IONIC Presentati al Forum 1
P Script upload immagini jQuery 0
E Salvare immagini PHP 0
S problema salvataggio immagini Photoshop 0
R Immagini scontornate: che formato? HTML e CSS 4
A Sovrapposizione Immagini Photoshop 0
Cosina Mostrare immagini da una cartella, ma solo un numero definito PHP 12
Tommy03 Gestire dimensioni immagini PHP 4
M Aiuto con inserimento immagini WordPress 6
L Scmporre una foto dotata di varie immagini in piu layer Photoshop 2
M Impossibile visionare la immagini dall'App. IP Cam e Videosorveglianza 8
A Array di immagini Sviluppo app per Android 10
L Come spostare cartella immagini/video PHP 1
A Cornici immagini per sito Web Wordpress WordPress 1
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
R uploader di immagini e text PHP 0
S Importazione immagini PHP 3
beatle [Photoshop] problema inserimento immagini Photoshop 1
L [PHP] Invio Immagini PHP 1
I [PHP] generazione url "uguale" che punta a due immagini diverse PHP 0
W Immagini professionali a costi sostenibili Discussioni Varie 1
bluebirdoncanvas [Photoshop] problema dimensioni immagini o zoom Photoshop 0
andreas88 Immagini non leggibili dopo trasferimento alla scheda SD Smartphone e tablet 0
zorro Aggiunta di immagini al sito Leggi, Normative e Fisco 0
M [PHP] Selezionare immagini directory non presenti in db PHP 11
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
I [PHP] Immagini caricate su server diverse da quelle mostrate PHP 19
kiai969 Stesse immagini su WordPress SEO e Posizionamento 2
L [HTML] Problemino con le immagini di sfondo HTML e CSS 4
A [Photoshop] Ritagliare cerchi tutti uguali da diverse immagini Photoshop 2
F [PHP] Galleria immagini PHP 6
trattorino [PHP] problema entrata immagini insert PHP 1
L Trovare immagini belle per siti Discussioni Varie 1
L [Photoshop]Migliorare qualità immagini Photoshop 8

Discussioni simili