AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Captcha in Programm anzeigen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Captcha in Programm anzeigen lassen

Ein Thema von SyntaxXx · begonnen am 11. Jul 2009 · letzter Beitrag vom 13. Jul 2009
Antwort Antwort
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

Captcha in Programm anzeigen lassen

  Alt 11. Jul 2009, 19:11
Nabend zusammen.
ich bin gerade dabei ein kleines Programm zu proggen, was die regestation auf einer Seite erleichtern soll.
Nein keine sorge, ich habe nicht vor, so ne art bot zu bauen, die Seiten mit Regestrationen flutet, nein ich möchte die Regestration nur einfacher gestalten.

Und um das zu erreichen würde ich gerne das Captcha im Programm anzeigen lassen.

Das problem wa sich habe, es ist ein javascript.

Hier mal der Code:

Delphi-Quellcode:
<script>
                  var RecaptchaOptions = {
                    theme : 'red'
                  }
;
               </script>
               <script type="text/javascript" src="http://api.recaptcha.net/challenge?k=6Lep_gQAAAAAAK5Wn6FbaLBPweWqL5QS79hwXSPw"></script>

   <noscript>
        <iframe src="http://api.recaptcha.net/noscript?k=6Lep_gQAAAAAAK5Wn6FbaLBPweWqL5QS79hwXSPw" height="300" width="500" frameborder="0"></iframe>


        <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
        <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
   </noscript>

Auf der Seite sieht das ganze so aus:

http://img34.imageshack.us/img34/3434/captchat.jpg


Könnt ihr mir vielleicht sagen, wie ich das hin bekomme?
Denn ein weiteres problem stelle ich mir vor, nicht nur das anzegen lassn sonder dass das auch überprüft wird.


Wäre echt klasse, wenn ihr mir helfen könntet^^
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#2

Re: Captcha in Programm anzeigen lassen

  Alt 11. Jul 2009, 20:54
nimm z.B. TWebbrowser und zeige es damit an,

ansonsten ... was glaubst du denn, warum die das mit dem Capatcha so "aufwendig" machen?
(damit es keiner einfach mit einem Programm auslesen kann)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

Re: Captcha in Programm anzeigen lassen

  Alt 11. Jul 2009, 22:06
Ok ich kann mir jetzt die ganze Seite anzeigen lassen im WebBrwoser.
Gibt es denn jetzt auch die möglichkeit, nur einen bestimten teil anzeigen zu lassen? in diesem falle das Captcha?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Captcha in Programm anzeigen lassen

  Alt 11. Jul 2009, 22:32
Du musst doch nur den IFrame anzeigen, oder?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#5

Re: Captcha in Programm anzeigen lassen

  Alt 11. Jul 2009, 23:12
Wenn du wirklich nur das Bild willst und nicht auf TWebBrowser setzen willst, nimm dir ein TIdHTTP.

Dann tu folgendes:

1. Filter die URL in <iframe src="url" raus.
2. Gette diese URL mit dem Client.
3. Filter das bla zwischen "challenge : 'bla'" und "server : 'bla'" aus dem erhaltenen HTML-Code (ohne ")
4. Gette das Image (im JPG Format) von GefilterterServer + 'image?c=' + GefiltertesChallenge
5. Lass den User das Captcha eingeben.

Jetzt kommt es auf das weitere Aussehen des oben geposteten HTML-Codes an. Da ist eine Form, die hat eine action (form action="bla" steht da wahrscheinlich).

6. An diese URL postest du (ggf. musst du noch den Host der Seite vorne ranfügen): "recaptcha_challenge_field=' + GefiltertesChallnge + '&recaptcha_response_field=' + CaptchaCodeVonUser" ohne die ".

Findest du im erhaltenen Quellcode wieder ".recaptcha.", war der Code falsch oder die Anfrage fehlerhaft (ggf. musst du Cookies und Referer noch handeln). Es kann auch sein, dass die Form noch weitere Parameter (input type="hidden") hat oder recaptcha noch was will (ist immer unterschiedlich bei den dingern). Sollte es nicht gehen, kannst du mal mit Wireshark kucken, was alles gesendet wird, wenn du das Captcha im Browser eingibst.
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#6

Re: Captcha in Programm anzeigen lassen

  Alt 12. Jul 2009, 00:16
Mein Vorgänger hat schon alles gesagt.

Kleiner Tipp noch:
Pos, PosEx, Copy

Müsste eigentlich reichen, um die URL zu filtern.
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#7

Re: Captcha in Programm anzeigen lassen

  Alt 12. Jul 2009, 22:42
So ich wollte nun folgendes machen:

Ich wollte mir das Captcha runter laden, und dann anzeige lassen.
Diesmal handelt es sich um eine andere art von Captcha, also nicht mehr das, was ich zuerst gepostet hab.

Um die URL des Captchas zu bekommen, muss ich ja den quelltext danach filtern.
Doch immer wenn ich da smache, bekomme ich ne ganz komische ausgabe.

hier mal der Code vom filtern:

pos1 := pos('name="keystring">
<th align="left">[img]
' , quelltext)+ length('name=[/img]
<th align="left"><img src="');
pos2 := pos('"></table></form></font>
', quelltext);
pos3 := copy(quelltext, pos1,pos2);
showmessage(pos3);



Das hier ist der Quelltextausschnitt, von dem ich das verwende:

<input type="text" name="keystring">
<th align="left">[img]
cp.php?PHPSESSID=9e7ee7637a2a19bf2b7cbb95b3e802de[/img]</table></form></font>




Das unterstrichene ganz klar möchte ich raus haben.

Doch so wie ich es jetzt habe, bkomme ich nur ne leere messagebox.
  Mit Zitat antworten Zitat
WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#8

Re: Captcha in Programm anzeigen lassen

  Alt 13. Jul 2009, 09:08
Hast du mal geschaut, ob Pos1 oder Pos2 vielleicht 0 sind? (ok, bei Pos1 0 + Länge)
Wenn ja ist der Suchstring falsch (vielleicht ein Zeichen vergessen oder so)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz