I love dBlog!
Immagine
 Antica macchina per tessuti... di Admin
 
"
Un'idea che non sia pericolosa non merita affatto di essere chiamata idea

Oscar Wilde
"
 
\\ MusoWeb Home Page : Articolo
Problemi di spam in dBlog? Ecco come aggiungere reCaptcha a dBlog
Di Muso (del 30/07/2012 @ 10:27:14, in Informatica, linkato 5622 volte)
Come capita piu' o meno a tutti, anche io sono stato vittima di spam, quindi vi scrivo questa breve guida per inserire nel vostro bel dBlog il reCaptcha.
AVVISO che l'eliminazione dello spam NON e' IMMEDIATA!!! Suppongo per una questione di caching delle pagine sui server in giro per il mondo che permettono un accesso alle pagine con il vecchio codice. Cmq Tempo un mesetto e tutto si risolve.
File da modificare:
- articolo.asp
- commenti_invio.asp

in ordine dovrete sostituire in articolo.asp le seguenti righe (cioe' il form):



<%=Testo_Campo_Captcha%> CAPTCHA


<%=Testo_Campo_Commento%>

<%=Testo_Campo_Nome%>

<%=Testo_Campo_EMailLink%>






con il seguente form


' Il seguente campo NON deve essere compilato.
<%=Testo_Campo_Captcha%>
<%=Testo_Campo_Commento%>
<%=Testo_Campo_Nome%>
<%=Testo_Campo_EMailLink%>



mentre in commenti_invio.asp sostituire :


Dim SQLCommenti, RSCommenti, FIDA, FIDF, FIDFotografia, FIDArticolo, FCommento, FAutore, FLink, FTipologia, Errore, SQLControlloAutore, RSControlloAutore, ArrayParoleNonAmmesse, IArrayParoleNonAmmesse, ParolaNonAmmessaFiltrata, IParolaNonAmmessa, SQLCommentiTitoloRelativo, RSCommentiTitoloRelativo, TitoloRelativo 
'Se i commenti sono abilitati eseguo l'invio If Abilita_Commenti Then   
If Request.Form("campoNascosto") = "" Then     
   If CheckCAPTCHA(Trim(Request.Form("strCAPTCHA"))) Then     
   'Effettuo il controllo sul parametro id

con le seguenti, ricordandovi di inserire la VOSTRA private key nella riga
recaptcha_private_key      = "your_private_key" ' your private key


    recaptcha_challenge_field  = Request("recaptcha_challenge_field")
    recaptcha_response_field   = Request("recaptcha_response_field")
    recaptcha_public_key       = "6LegAcASAAAAADYH-RDuZqrp7QdFr_VXaFd8BWe6" ' your public key
    recaptcha_private_key      = "your_private_key" ' your private key
    
    Dim SQLCommenti, RSCommenti, FIDA, FIDF, FIDFotografia, FIDArticolo, FCommento, FAutore, FLink, FTipologia, Errore, SQLControlloAutore, RSControlloAutore, ArrayParoleNonAmmesse, IArrayParoleNonAmmesse, ParolaNonAmmessaFiltrata, IParolaNonAmmessa, SQLCommentiTitoloRelativo, RSCommentiTitoloRelativo, TitoloRelativo, WordNotPermitted

		'Se i commenti sono abilitati eseguo l'invio
		If Abilita_Commenti Then
		  If Request.Form("campoNascosto") = "" Then	
        server_response = ""
        newCaptcha = True
        if (Request.Form("recaptcha_challenge_field") <> "" or Request.Form("recaptcha_response_field") <> "") then
          Dim VarString
          VarString = _
                  "privatekey=" & recaptcha_private_key & _
                  "&remoteip=" & Request.ServerVariables("REMOTE_ADDR") & _
                  "&challenge=" & Request.Form("recaptcha_challenge_field") & _
                  "&response=" & Request.Form("recaptcha_response_field")
        
          Dim objXmlHttp
          Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
          objXmlHttp.open "POST", "http://www.google.com/recaptcha/api/verify", False
          objXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
          objXmlHttp.send VarString
        
          Dim ResponseString
          ResponseString = split(objXmlHttp.responseText, vblf)
          Set objXmlHttp = Nothing
        
          if ResponseString(0) = "true" then
            'They answered correctly
             server_response = ""
          else
            'They answered incorrectly
             server_response = ResponseString(1)
          end if
          newCaptcha = False
        end if	
            
		    if server_response <> "" or newCaptcha then
           if newCaptcha = False then
                 
           %>
          	  
          	  
<%=Errore_Commento_Parametri%> <%=Errore_Captcha_Numeri_Sbagliati%> #commenti"><%=Testo_Commento_Riprova%>.
<% end if else

e poi


	If FIDA <> 0 OR FIDF <> 0 Then
					FCommento = Replace(SostituisciCaratteri(Request.Form("Commento"), "No"), VbCrLf, "
") If Len(Testo_Parole_NonAmmesse) > 0 AND Len(FCommento) > 0 Then ArrayParoleNonAmmesse = Split(Testo_Parole_NonAmmesse, ",") For IArrayParoleNonAmmesse = 0 To UBound(ArrayParoleNonAmmesse) ParolaNonAmmessaFiltrata = ""

con


        Dim foundCommento
        Dim foundAutore
        Dim foundLink
        Dim foundIPas
        Dim FIp
        Errore = False
        WorldNotPermitted = False
        
				If FIDA <> 0 OR FIDF <> 0 Then
					FCommento = Replace(SostituisciCaratteri(Request.Form("Commento"), "No"), VbCrLf, "
") FAutore = SostituisciCaratteri(Request.Form("Autore"), "No") FLink = SostituisciCaratteri(Request.Form("Link"), "No") FTipologia = Request.Form("Tipologia") FIp = Request.ServerVariables("REMOTE_ADDR") If Len(Testo_Parole_NonAmmesse) > 0 AND Len(FCommento) > 0 Then ArrayParoleNonAmmesse = Split(Testo_Parole_NonAmmesse, ",") For IArrayParoleNonAmmesse = 0 To UBound(ArrayParoleNonAmmesse) 'START Add by muss 20120615 foundCommento = InStr(FCommento, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) foundAutore = InStr(FAutore, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) foundLink = InStr(FLink, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) foundIP = InStr(FIp, ArrayParoleNonAmmesse(IArrayParoleNonAmmesse)) If (foundCommento <> 0) OR (foundAutore <> 0) OR (foundLink <> 0) OR (foundIP <> 0) Then 'If foundCommento = True Then WorldNotPermitted = True Errore = True End If 'END by muss 20120615 ParolaNonAmmessaFiltrata = ""

alla fine


%>
	
<%=Conferma_Commento_ricevuto%> #commenti"><%=Testo_Commento_Visualizza%>.
<% Else %>
<%=Errore_Commento_CampoObbligatorio_e_AutoreLoggato%> <%=Testo_Commento_Riprova%>.
<% End If Else %>
<%=Errore_Commento_Parametri%> <%=Testo_Commento_Riprova%>.
<% End If Else %>
<%=Errore_Commento_Parametri%> <%=Errore_Captcha_Numeri_Sbagliati%> #commenti"><%=Testo_Commento_Riprova%>.
<% End If Else %>
<%=Errore_Commenti_NonAbilitati%>
<%

con


%>
	
<%=Conferma_Commento_ricevuto%> #commenti"><%=Testo_Commento_Visualizza%>.
<% Else If WordNotPermitted = True Then %>
<%=Errore_Parole_Non_Ammesse%> <%=Testo_Commento_Riprova%>.
<% Else %>
<%=Errore_Commento_CampoObbligatorio_e_AutoreLoggato%> <%=Testo_Commento_Riprova%>.
<% End If End If Else %>
<%=Errore_Commento_Parametri%> <%=Testo_Commento_Riprova%>.
<% End If end if Else %>
<%=Errore_Commenti_NonAbilitati%>
<%


Dopodiche' entrate come amministratori nel pannello di controllo di dBlog, andate nella sezione "Configurazione", dal menu' a tendina scegliete "Commenti".
A questo punto bisogna fare due modifiche, agli ultimi due campi in fondo:
- alla voce "Testo del campo Captcha anti-spam:" lasciare solo "Anti-Spam:" cancellando il resto
- alla voce "Errore campo Captcha numeri sbagliati" inserite una frase a piacere, Io ho inserito la seguente "le parole inserite in reCaptcha non sono corrette"


Qualche post da ip cinese lo riceverete ancora ma si tratta di un paio di post alla settimana (almeno nel mio caso).
Anche per questo ho aggiunto un controllo sulle parole ammesse anche nella firma e nell'IP che viene registrato, quindi se entrate come amministratori nella console alla voce commenti potete inserire un po' di parole o indirizzi ip che volete filtrare.
Se avete problemi contattatemi via mail, sono sempre presissimo e rischiate che passino giorni prima di ricevere una risposta a un commento inserito quì.
Articolo Articolo  Storico Storico Stampa Stampa

Technorati tag  antispam; captcha; dBlog; informatica; recaptcha; spam;

Potrebbero interessarti anche i seguenti articoli....

Con un sito ti cracco il router (33%)
Unicode in 5 minuti (17%)
Gestione date con la libreria JodaTime (2%)
Eclipse - Ant - Unsupported major.minor version 49.0 (25%)
Debug di applicazioni remote con tomcat ed eclipse (20%)
ubuntu proxy authentication (8%)
Fav7, creare una pagina web per condividere 7 URL in un solo colpo (9%)
Problem running eXist in eclipse (25%)
Come inserire codice HTML nei post (25%)
SpringSource Tool Suite - STS - "Could not create the Java virtual machine" (25%)
40 DataStage Learning, Tutorial and Certification Online Resources (1%)
Cannot proxy target class because CGLIB2 is not available (33%)
java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.(Z)V (9%)
Log4J exception example - How to print the stack trace of an exception using Log4J (or Commons Logging) (17%)
Setting up a local Subversion repository to use with your Eclipse (8%)
Aumentare la sicurezza di Gmail con la verifica in due passaggi (2%)
The Death of WebSphere and WebLogic App Servers? New Infographic shows the Rise of OSS Java (12%)
NASA unplugs last mainframe (5%)
Albine Protected Search: l'add-on che nasconde le nostre ricerche da Google (7%)
 
# 1
Ciao ho seguito tutti i passaggi descritti, ma dopo l'immagine del recaptcha non mi compare più niente... scompare il form e quant'altro. Sapresti dirmi qual'è il problema? Grazie
Di  Giuseppe  (inviato il 07/12/2011 @ 10:03:30)
# 2
Ciao, sono contento che tu abbia seguito questa piccola guida, non posso rispondere alla tua domanda senza aver prima visto la pagina modificata. Mandami il sorgente che hai modificato per mail e saro' lieto di aiutarti.
Di  Muso  (inviato il 20/12/2011 @ 13:42:39)
# 3
Ciao,


mi potresti mandare la pagina completa "commenti_invio.asp" ?

Sto diventando matto perchè continua a darmi l'errore:

Microsoft VBScript compilation error '800a03f4' Expected 'If'

non so se manca un End If o altro, ho provato per ore e sono sempre al punto di partenza.

Ti sarei molto grato se mi potessi inviare il codice completo della pagina incriminata.
Di  Jacopo  (inviato il 21/04/2012 @ 23:45:28)
# 4
ciao, intanto grazie per la guida, ho una domanda, quando scrivi "ricordandovi di inserire la VOSTRA private key nella riga" cosa intendi per private key ?
Inoltre, io la riga che tu citi, "recaptcha_private_key" non la trovo.
Di  Claudio  (inviato il 20/07/2012 @ 10:29:53)
# 5
buongiorno, sto provando anche io a modificare il mio dblog invaso dallo spam.
@Claudio: quella riga si trova nel filo commenti_invio.asp
@musoweb: ho lo stesso problema di Jacopo, sarebbe bello avere la pagina completa (o verificare perchè si genera questo errore). GRAZIE MILLE per l'articolo
Di  Ruggieo  (inviato il 20/07/2012 @ 13:53:56)
# 6
Ottengo il medesimo errore, qualcuno è riuscito a venirne a capo ?
Microsoft VBScript compilation error '800a03f4' Expected 'If'

Ringrazio anticipatamente per la collaborazione.
Di  Claudio  (inviato il 22/07/2012 @ 22:43:33)
# 7
Ciao a tutti,
@Jacopo,@Claudio,@Ruggieo
mi spiace ma ci doveva essere un errore nel post, ho corretto postando questa nuova guida.
Nel caso abbiate un problema mandatemi una mail con la pagina che vi dà errore.
Di  Muso  (inviato il 30/07/2012 @ 12:02:45)
' Il seguente campo NON deve essere compilato.
Anti-Spam:
Testo (max 1000 caratteri)
Nome
e-Mail / Link


Disclaimer
L'indirizzo IP del mittente viene registrato, in ogni caso si raccomanda la buona educazione.


Blog ON-LINE dal 01/06/2007 
Sono state qui' 4352 persone
Sono state viste 6629 pagine
Oggi ho ricevuto 1 visite
Ieri ho ricevuto 0 visite
 
Locations of visitors to this page
 
Add to Technorati Favorites

Ci sono 300 persone collegate

< maggio 2017 >
L
M
M
G
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
       
             

Cerca per parola chiave
 

Titolo
Blogosfera (11)
Eventi (12)
Films (2)
Gossip Corner (4)
Informatica (51)
Lo sapevi che (49)
Personali (24)
Politica (39)
Racconti (16)
Recensioni (2)
Societa' (6)
società (11)
Spazio DIL (2)
Sport (8)
Tecnologia (21)
Top 5 (3)
Vendesi (4)

Gli interventi più cliccati

Ultimi commenti:
Obbligatori e ipotec...
27/05/2017 @ 17:05:26
Di Max Bent
Сhеl...
21/05/2017 @ 03:59:09
Di Pelllype
TESTIMONIANZA di ott...
14/03/2017 @ 12:21:03
Di CARO WHITE

Titolo
Eventi (16)
Header (7)
Informatica (3)
Personali (23)
Sport (14)
Vendesi (7)

Le fotografie più cliccate

Titolo
Ti piace questo blog?

 Fantastico!
 Carino...
 Così e così
 Bleah!

Titolo

Listening
Vasco
Ligabua
Doors
Caparezza
U2
Rolling Stones
Beatles

Reading
Franceschi - Fiabe della Bouna Notte
Ken Follett

Watching
Diamanti di Sangue - Blood Diamond
L'ombra del potere - The Good Shepherd



Errore Flickr RSS.




27/05/2017 @ 19:27:41
script eseguito in 1093 ms


Visitor locations