hrasbo Praktikant
22. marts 2018 - 16:21 Der er 1 kommentar

Recaptcha i asp på en side

Hej

Jeg skal have Recaptcha til at virke sammen med en standard formmail.
Der kan ikke rettes i formmail.cgi eller andet.

Hvordan får jeg den til at tjekke Recaptcha og bagefter kører formmailen igennem som normalt.

Har fundet denne:
https://www.mrwebmaster.it/asp/recaptcha-v2-classic-asp_12460.html

Men hvordan får jeg kørt, på samme side:
Dim recaptcha_passed
recaptcha_passed = recaptcha_check(Request.Form("g-recaptcha-response"))
' Effettuo un controllo condizionale
If recaptcha_passed = False Then
  ' Errore di validazione ...
Else
  ' Validazione riuscita ...
End If
Hr_Andersen_11 Juniormester
28. august 2018 - 11:15 #1
Nu ved jeg ikke hvor i processen du befinder dig, men til at starte med skal du oprette en api-key på google, så du adgang til re-captcha-funktionen.

Så sætter du din re-captcha ind; feks.:
<div class="g-recaptcha" data-sitekey="xxxxxxXxxxxXxxXXxxxxx0000xX">

Før re-cap har jeg sat en asp-snip ind som kigger i en session jeg har lavet i action-filen (du kan lave en 2 steps action, som sender dig videre til dit cgi-script, hvis det er det du har brug for).

Personligt laver jeg altid al validering serverside, i form-action-filen, og sender det bagefter videre til "hvad det nu er jeg vil"

Hos mig ser min asp-snip sådan ud (der er også lidt error-handling i den:

<%
if session("recap")=1 Then
session("recap")=0
%>
<div style="color:red" class="left-align" id="err-comment">Er du en robot?<br></div>
<% End if
%>

Jeg benytter: method="post til min form.

I action-filen laver jeg al validering på felterne, samt om re-captcha er udfyldt.

Re-captcha-valideringen ser sådan ud:

<%
    If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
        Dim recaptcha_secret, sendstring, objXML
        ' Secret key
        recaptcha_secret = "xxxxxxXxxxxXxxXXxxxxx0000xX"

        sendstring = "https://www.google.com/recaptcha/api/siteverify?secret=" & recaptcha_secret & "&response=" & Request.form("g-recaptcha-response")

        Set objXML = Server.CreateObject("MSXML2.ServerXMLHTTP")
        objXML.Open "GET", sendstring, False

        objXML.Send

        Response.write objXML.responseText
       
            ResponseString = objXML.responseText
            If instr(ResponseString, "success" & chr(34) &": true")>0 then
            recaptchagood="Yes"
            session("ok")=1
            end if

        Set objXML = Nothing
    End If
%>

Og nedenstående her til at sende brugeren tilbage til formmailen hvis re-captcha ikke blev gennemført.

<% If NOT recaptchagood="Yes" Then
session("recap")=1
Response.redirect "default.asp#contact"
End If
%>

Du kan gemme dit formindhold i nogen sessions, eller hvad du nu lyster og så sende indholdet videre til dit CGI-script nu.

Husk at sætte din egen API-key ind alle steder i stedet for: xxxxxxXxxxxXxxXXxxxxx0000xX

Håber dette kan hjælpe dig lidt.
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Wingmen Solutions fortsætter den stejle vækstkurve trods corona: Hæver overskuddet med 120 procent
Wingmen Solutions fastholder de eksplosive vækstrater trods corona-pandemien. Det viser selskabets nye regnskab, hvor overskuddet er mere end fordoblet. "Det er fantastisk, at vi er kommet igennen et år med corona på den her måde," lyder det fra topchef Kåre Christensen.
Computerworld
Stein Bagger gør comeback i ny branche: "De lignede et mafiahold, førte sig frem som nyrige og plaprede løs om urealistiske drømme"
Stein Bagger har skiftet navn og fører sig nu frem i store biler i en helt ny branche, skriver en dansk avis.
CIO
Podcast: Her er seks gode råd om ledelse og digitalisering fra danske top-CIO'er
The Digital Edge: Vi har talt med 17 af Danmarks dygtigste digitale ledere - og samlet deres seks bedste råd om digitalisering og ledelse. Få alle rådene på 26 minutter i denne episode af podcasten The Digital Edge.
Job & Karriere
Se Waoos forklaring: Derfor har selskabet fyret topchef Jørgen Stensgaard med omgående virkning
Waaos bestyrelse opsiger fiberselskabets topchef, Jørgen Stensgaard, der fratræder med omgående virkning. Se hele forklaringen fra Waao her.
White paper
Kan Microsoft 365 styrke sikkerheden på hjemmearbejdspladsen?
Microsoft 365 er både Officeapplikationer og produktivitet – men også meget mere end det! Med Microsoft 365 får du faktisk adgang til en lang række sikkerhedsydelser, der kan øge modstandsdygtigheden i tilfælde af cyberangreb. Mange af tjenesterne er særligt velegnede til at styrke sikkerheden, når medarbejderne arbejder hjemmefra. Samtidig gør Microsoft 365 det lettere at sikre adgangen til virksomhedens systemer, beskytte kundedata og forebygger, opsporer og automatiserer reaktioner på avancerede trusler. Microsoft 365 tilbyder over 50 forskellige sikkerhedsydelser, og denne guide er skrevet med henblik på at øge forståelsen for, hvordan de fungerer og kan være med til at optimere sikkerheden i din virksomhed.