+ Rispondi alla Discussione
Risultati da 1 a 8 di 8

[ASP] Convalida form anti-spam da Javascript a VBScript

Ultimo Messaggio di Elbaforum il:
  1. #1
    User
    Data Registrazione
    Jun 2005
    Messaggi
    43

    [ASP] Convalida form anti-spam da Javascript a VBScript

    Ciao a tutti è possibile convertire questo codice in VBscript?

    <%@LANGUAGE = JScript%>
    <%
    var commenti = Request.Form("commenti");
    var valida = /http/;
    if (!valida.test(commenti)) Response.Write("invio ok");
    Response.Redirect("testasp/httpko.asp");
    %>

    Poreste aiutarmi? Grazie Andrea
    Isola d'Elba Per le tue vacanze all'Isola d'Elba

  2. #2
    Moderatore L'avatar di Legolas
    Data Registrazione
    Mar 2005
    Località
    Viterbo
    Messaggi
    770
    Aggiungi Legolas su Facebook Aggiungi Legolas su Linkedin
    Codice:
    <%
    Dim commenti
    commenti = Request.Form("commenti")
    Dim valida
    valida = /http/
    	if  Instr(commenti, valida, 1)>0 Then Response.Write("invio ok")
    	Response.Redirect("testasp/httpko.asp")
    %>

  3. #3
    User
    Data Registrazione
    Jun 2005
    Messaggi
    43
    Ciao Legolas, grazie per l'aiuto

    ho provato lo script e mi restituisce questo errore:

    Errore di run-time di Microsoft VBScript error '800a000d'

    Tipo non corrispondente: '[string: "prova"]'

    /invio-codice.asp, line 6
    Isola d'Elba Per le tue vacanze all'Isola d'Elba

  4. #4
    Esperto L'avatar di FuSioNmAn
    Data Registrazione
    Jan 2007
    Località
    Salerno
    Messaggi
    495
    Devi controllare che nel commento non ci siano link?

    Codice HTML:
      	if (!valida.test(commenti))
    Questa è un'espressione regolare in javascript che dice: "se http non è presente nel testo commenti allora invio ok".

    Puoi fare una espressione regolare in vbscript oppure controllare (più banalmente ma meno efficaciemente) che sia presente http nel testo così:

    Codice:
    if instr(commenti,"http")<>0 then
    response.write("Invio KO")
    else
    response.write("Invio OK")
    end if
    Ammesso sia quello che devi fare...

  5. #5
    User
    Data Registrazione
    Jun 2005
    Messaggi
    43
    Citazione Originariamente Scritto da FuSioNmAn Visualizza Messaggio
    Devi controllare che nel commento non ci siano link?

    Codice HTML:
      	if (!valida.test(commenti))
    Questa è un'espressione regolare in javascript che dice: "se http non è presente nel testo commenti allora invio ok".

    Puoi fare una espressione regolare in vbscript oppure controllare (più banalmente ma meno efficaciemente) che sia presente http nel testo così:

    Codice:
    if instr(commenti,"http")<>0 then
    response.write("Invio KO")
    else
    response.write("Invio OK")
    end if
    Ammesso sia quello che devi fare...
    Ciao Fusionman, devo eliminare il problema spam, ma perchè sarebbe meno efficace la soluzione che proponi?
    l'ho provata e funziona.
    Ha qualche limitazione?

    Ciao e grazie per l'aiuto Andrea
    Isola d'Elba Per le tue vacanze all'Isola d'Elba

  6. #6
    Esperto L'avatar di FuSioNmAn
    Data Registrazione
    Jan 2007
    Località
    Salerno
    Messaggi
    495
    Perchè con quella becchi solo se è presente http
    Se inseriscono www. qualcosa (quindi senza http) non viene filtrato.
    Per questo dicevo che con le espressioni regolari è un'altra cosa.
    Bisogna costruire una stringa che tenga presente tutti i casi che decidi

  7. #7
    User
    Data Registrazione
    Jun 2005
    Messaggi
    43
    Hai ragione, però il form che viene preso di mira non è nè un blog nè un forum, è il solito robots che puntualmente mi invia messaggi da questo form senza nessun risultato, credo che capiscono se si tratta di invi con html abilitato e quindi inseriscono anche http, e non capiscono che rompono è basta.

    Tengo nei preferiti questa discussione così se dovessero cambiare strategia torno a disturbarvi.

    Grazie dell'aiuto Andrea.
    Isola d'Elba Per le tue vacanze all'Isola d'Elba

  8. #8
    User
    Data Registrazione
    Jun 2005
    Messaggi
    43

    Estrarre i dati in modo casuale

    Ciao a tutti, per il momento ho risolto il problema spam, ma ho bisogno di un altro aiuto,

    ho il seguente script che mi estrae i dati in ordine dall'ultima decrescente, è complicato fare in modo che l'ordine sia casuale?

    Codice:
    <%
    Response.Buffer = True
    lineIndex = 0
    Set connect = Server.CreateObject("ADODB.Connection")   ' Prepare to connect to database
    connect.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath ("messaggi.adb")
    
    ClassTopic = Trim(session("k"))
    
    whereclause = "WHERE "
    whereclause = whereclause &"Classifieds.ClassTopic = '" &  ClassTopic & "'" 
     
    query = "SELECT * FROM classifieds "& whereclause &"And ClassExpire > Date()" & "ORDER BY ClassPosted DESC"
    
    set recordset = Server.CreateObject("ADODB.Recordset")
    recordset.CursorType = 2  ' adOpenStatic
    recordset.Open query, connect
    %>
    <!-- fine -->
    <table width="100%"><tr><td> 
    <!-- intestazione annunci -->
    <div>
    <% i=0
    Do While Not recordset.EOF 
         NoResults = False
    if i=2 then exit do
    %>
    <table width="98%" cellpadding="0" cellspacing="0" border="0" style="font-size: 10pt">
    <tr><td>
    <a href="ads_display.asp?Key_m=<%=recordset("ClassTopic")%>"> <b><%=recordset("ClassAdTitle")%></b></a><br> 
    <b>rif. n° <%=recordset("ClassID")%> dal <%=recordset("ClassPosted")%> al <%=recordset("ClassExpire")%></b>
    <%=left(recordset("ClassDescription"),100)%>...<br><br></td></tr>
    </table>
    <%
    i=i+1
    recordset.MoveNext
    Loop
    %>
    <%recordset.close%>
    </div><!-- intestazione anuunci#--></td></tr>
    </table>
    il k lo passo io.

    Grazie spero possiate aiutarmi.

    Ciao Andrea
    Isola d'Elba Per le tue vacanze all'Isola d'Elba

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.