как использовать reCaptcha 2.0 в asp classi c с загрузчиком нескольких изображений? - PullRequest
0 голосов
/ 17 июня 2020

я использую asp classi c, в котором я использую recaptcha 2.0 , когда я использовал enctype = "multipart / form-data" мой загрузчик изображений работает нормально, но recaptcha ответ: false , и когда я удаляю enctype = "multipart / form-data" в теге формы recaptcha, работает нормально, но не загрузчик изображений пожалуйста, помогите мне

метод recaptcha

If Request.ServerVariables ("REQUEST_METHOD") = "POST" Затем Dim recaptcha_secret, sendstring, obj XML

    ' Secret key
    recaptcha_secret = "secret key"

    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
Dim oJSON,jsonstring,result,data,success
    Set oJSON = New aspJSON

результат = (объект XML .responseText)

Set oJSON = New aspJSON
oJSON.loadJSON(result)

Set objXML = Nothing

success = oJSON.data("success")
if success = "True" then

    TestCaptcha ="True"
else
    TestCaptcha ="False"

end if     
    Set objXML = Nothing
End If

1 Ответ

0 голосов
/ 22 июля 2020

Вы не можете использовать Request.form("g-recaptcha-response") при отправке формы с enctype="multipart/form-data", так как сборник Request.Form недоступен.

Вместо этого используйте свойство DLL компонента загрузки (обычно form слишком). Например, с компонентом Persists ASPUpload используйте:

Set Uploader = Server.CreateObject("Persits.AspUpload")`
Dim myFormField
myFormField = Uploader.Form("g-recaptcha-response")

Затем вы можете использовать свою переменную myFormField для передачи в Google ReCaptcha, например:

sendstring = "https://www.google.com/recaptcha/api/siteverify?secret=" & recaptcha_secret & "&response=" & myFormField
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...