Autor Beitrag
Csharp-programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 21.12.16 17:58 
Hallo,
ich habe auf der Website von Google eine Captcha Anfrage auf meine Domain hinzugefügt. Die vorgeschlagenen Scripte habe ich in die HTML Datei eingebunden. Aber wenn ich diese Website nun aktualisiere, kommt einfach gar nichts. Auch den Script Tag habe ich im Head Bereich eingefüht, aber es passiert einfach nichts. Das Captcha Feld soll unter die CheckBox, aber das ist alles leer. Hier die URL:

mainlysoft.com/mnreg.html


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (Web-Entwicklung) verschoben am Mi 21.12.2016 um 18:19

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20447
Erhaltene Danke: 2262

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.12.16 18:18 
Du erwartest jetzt aber nicht wirklich, dass sich hier jetzt erst einmal jemand bei Google durchliest, wie man deren Captcha einbettet, um dann den Quelltext Deiner Seite zu durchforsten, was Du denn wo getan hast, oder?

Bitte stelle Deine Frage konkreter mit Code-Ausschnitten, etc.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 21.12.16 18:30 
Also auf Google habe ich die Website so registriert:
1

Dabei kam dieser Code für den Head Bereich zu stande:
ausblenden HTML-Dokument
1:
<script src='https://www.google.com/recaptcha/api.js'></script>					


Und dieser Code für den Body Bereich:
ausblenden HTML-Dokument
1:
<div class="g-recaptcha" data-sitekey="6Leceg8UAAAAABXENIEwJpkB39iD_iPKmXmrNCdV"></div>					


Aber es passiert nichts
Einloggen, um Attachments anzusehen!
_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20447
Erhaltene Danke: 2262

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.12.16 19:27 
Die einfachen Anführungszeichen bei script-Tag kommen mir falsch vor. Allerdings erscheint bei mir im Browser auch ein "Ich bin kein Roboter"-Captcha unter der Checkbox.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 21.12.16 19:40 
Ja ich habe jetzt bei den Google Einstellungen etwas verändert und jetzt funktioniert es bei mir auch.
Jetzt gibt es ein Problem, der YouTuber (www.youtube.com/watch?v=ScanS3spdFg) hat dieses "Ich bin kein Roboter" Element in einer Form mit der Post Methode. Bei mir werden die Daten über jQuery an die Cloud übertragen. Da das Roboter Steuerelement irgendwie Daten mitsendet, dass passiert in dem form Tag automatisch, aber ich weiß nicht, wie ich das mit jQuery umsetzen kann :(

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20447
Erhaltene Danke: 2262

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 21.12.16 19:53 
Wenn ich das in der Doku richtig sehe, kann man das Ergebnis des Captchas mittels grecaptcha.getResponse() auslesen. Merke: ein Youtube-Video ersetzt nicht das lesen der Doku ;)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 21.12.16 20:56 
Soo. Theorethisch funktioniert es jetzt. Ich poste hier trotzdem mal den Code, vielleicht erkennt ihr irgendwelche Sicherheitslücken...

Die PHP Datei, die die Daten in die Datenbank schreibt. Erst wenn die Variable $captchaSuccess der Wert 1 hat, wird der weitere Code ausgeführt, der die Daten in die Datenbank schreibt:
ausblenden PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
$captcha = $_POST['grecaptcharesponse'];
      $captchaSuccess = 0;
      
      if($captcha != '') {
        $secret = "dergeheimstegeheimegeheimschlüsselderwelt";
        $ip = $_SERVER["REMOTE_ADDR"];
        $var = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$captcha&remoteip=$ip");
        $array = json_decode($var, true);
        
        if($array['success']) {
          $captchaSuccess = 1;
        } else {
          $captchaSuccess = 0;
        }
      } else {
        $captchaSuccess = 0;
      }


Der jQuery Code in der HTML Datei:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
$(document).ready(function(){
                  $.post("https://mainlysoft.com/Mainlynet/Scripts/InsertData.php", {
                                                                                        .....
                      grecaptcharesponse: captchaData
                      
                  }, function(result){
                       ........
                  });
              });


Was sagen die Experten dazu? Ist die Website nun sicher vor irgendwelchen Spam Attacken?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Do 22.12.16 22:25 
Bei der Registration auf meiner Website werden die Daten manuell über jQuery an die Datenbank (oder ehr an das PHP Script) übergeben. Wenn jetzt irgendwer den Quellcode öffnet und alle Parameter weiß, kann er dann nicht einfach ein kleines Programm schreiben, was die Datenbank zumüllt? In dem PHP Code wird ja aber auch der Captcha Code überprüft, aber diesen könnte man ja über die Browser Console herausfinden und dann zusammen mit dem entsprechenden Parameter und dem Programm zu dem Server hinsenden, oder verstehe ich das falsch?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein