DOKUMENTATION. CaptchaAd mit Java. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen



Ähnliche Dokumente
DOKUMENTATION. CaptchaAd mit Java. Entpacken und Hochladen. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen. Informationen von CaptchaAd

INSTALLATION. Voraussetzungen

Ihr CMS für die eigene Facebook Page - 1

Handbuch Offline-Abgleich

Kleines Handbuch zur Fotogalerie der Pixel AG

Adminer: Installationsanleitung

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Lokale Installation von DotNetNuke 4 ohne IIS

Anmeldung bei einem registrierten Konto (Account)

Anleitung öffentlicher Zugang einrichten

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

OP-LOG

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Seriendruck mit der Codex-Software

Leitfaden zur Anlage einer Nachforderung. Nachforderung Seite 1 von 11 RWE IT GmbH

Herzlich willkommen bei der Installation des IPfonie -Softclients!

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

BFV Widgets Kurzdokumentation

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

COSIDNS 2 ISPconfig3. Version 0.1 ( )

Kapsch Carrier Solutions GmbH Service & Support Helpdesk

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Live Update (Auto Update)

Zugriff auf das Across-Ticketsystem

Neue Steuererklärung 2013 erstellen

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

Tutorial: Wie nutze ich den Mobile BusinessManager?

Hilfedatei der Oden$-Börse Stand Juni 2014

DOKUMENTATION VOGELZUCHT 2015 PLUS

teischl.com Software Design & Services e.u. office@teischl.com

Kommunikations-Management

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Flash Videos einbinden

Weiterverarbeitung Leseranfragen

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Standard-Kontaktformular

Die Dateiablage Der Weg zur Dateiablage

BSV Software Support Mobile Portal (SMP) Stand

Speichern. Speichern unter

Stand: Dokumentenverwaltung Modulbeschreibung

Installation Blockdruck WEB. Version 3.1.1

Registrierung am Elterninformationssysytem: ClaXss Infoline

Vorlagen im Online Banking. Anlegen von Vorlagen

ArchivCam / MotionCam

Kurzinformation Zugang zur NOVA für dezentrale Administratoren

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

Handbuch zum Excel Formular Editor

Einstellungen für SEPA-Lastschriften in der VR-NetWorld-Software

Der einfache Weg zum CFX-Demokonto

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installationsanleitungen

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Mac OSX und Safari / Mozilla Firefox

Anleitung zum Anlegen und Bearbeiten einer News in TYPO3 für

Treppensoftware Programme. Hilfe - 3D Plus Online. konstruieren/präsentieren

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Updatebeschreibung JAVA Version 3.6 und Internet Version 1.2

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

ERSTE SCHRITTE.

Anleitungen zum Publizieren Ihrer Homepage

Die Installation von D-Link WLAN Karten unter Windows Vista

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Dealer Management Systeme. Bedienungsanleitung. Freicon Software Logistik (FSL) für Updates

Seriendruck mit der Codex-Software

Import und Export von Übergängern

Leitfaden zur Installation von Bitbyters.WinShutdown

Auto-Provisionierung tiptel 31x0 mit Yeastar MyPBX

Folgeanleitung für Fachlehrer

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

So richten Sie Ihr Postfach im Mail-Programm Apple Mail ein:

Bezahlen von Lohn und Gehalt per SEPA

Software-Schutz Client Aktivierung

Folgen Sie bitte genau den hier gezeigten Schritten und achten Sie auf die korrekte Eingabe der Daten.

Erstellen einer digitalen Signatur für Adobe-Formulare

So eröffnen Sie schnell und bequem Ihr Internet-Festgeld

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

Überprüfung der digital signierten E-Rechnung

LEAD COREGISTRIERUNG (WEB.DE)

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Bedienungsanleitung Joomla 3.xx für Redakteure mit Admin-Rechten

Dokumentation. Mindestanforderungen: Das Board

Kostenstellen verwalten. Tipps & Tricks

Outlook 2000 Thema - Archivierung

Anleitung für den Euroweb-Newsletter

Datenübernahme bei Umstieg von T-Online Banking 6 auf Quicken 2010 so wird s gemacht!

Neue Kennwortfunktionalität. Kurzanleitung GM Academy. v1.0

FTP-Server einrichten mit automatischem Datenupload für

1. Handhabung Werkzeug- und Menüleiste

MS Office Grundlagen. Erstellen einer Briefvorlage für einen Privatbrief an den DIN 5008 Entwurf angelehnt.

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Import der Schülerdaten Sokrates Web

Lieber SPAMRobin -Kunde!

Transkript:

CaptchaAd mit Java Stand: 26. Juli 2011 Sehr geehrter Nutzer von CaptchaAd! Damit die Integration von CaptchaAd Ihnen noch leichter fällt, haben wir die notwendigen Schritte in diesem Leitfaden zusammen gefasst. Mit etwas Programmierkenntnissen lässt sich die Integration von CaptchaAd auf Ihrer Internetseite in kurzer Zeit durchführen. Die Schritte zur Integration des CaptchaAd-Modul im Einzelnen 0. Notwendige Informationen und Keys 1. Download der Dateien 2. Entpacken und Hochladen 3. Die Konfiguration 4. Einbinden der Header-Skripte 5. Einbindung in ein Formular 6. Überprüfung der Eingabe Online-Integrationsleitfaden (der PHP-Variante) http://www.captchaad.com/captchaad-client CaptchaAd Demo (der PHP-Variante) http://www.captchaad.com/captchaad-client/demo.php 1/11

Notwendige Informationen und Keys Bevor Sie mit der Integration beginnen, gehen Sie sicher, dass Ihnen die im Folgenden aufgelisteten Informationen vorliegen. Es handelt sich dabei um Informationen, die Sie von CaptchaAd und recaptcha nur auf Anfrage erhalten. Für Integration von CaptchaAd sind diese Daten zwingend erforderlich. Informationen von CaptchaAd CAPTCHAAD_API_KEY Publisher Id CAPTCHAAD_ZONE_ID All diese Informationen erhalten Sie von Ihrem Ansprechpartner bei CaptchaAd. Die Keys und IDs dienen zur Identifizierung und sicheren Kommunikation zwischen dem CaptchaAd auf ihrer Seite und dem CaptchaAd-AdServer. Informationen von recaptcha recaptcha public key recaptcha private key Die recaptcha-keys erhalten Sie auf der Internetseite von recaptcha. Wenn Sie sich bereits bei recaptcha angemeldet haben, können Sie natürlich Ihren bereits vorhandenen Key verwenden. recaptcha wird bei CaptchaAd automatisch als Fallback eingesetzt, wenn der Betrachter in seinem Browser Flash und JavaScript deaktiviert hat. Dies kommt in ca. 1% der Fälle vor. Link zu recaptcha: http://www.google.com/recaptcha/whyrecaptcha Download der Dateien Im ersten Schritt laden Sie sich die aktuelle Version der CaptchaAd-Dateien von unserer Internetseite herunter: http://www.captchaad.com/captchaad-client/captchaad_java_v.110527.zip Die ZIP-Datei enthält alle notwenigen Dateien, um CaptchaAd auf Ihrer Internetseite zu integrieren. Entpacken und Hochladen Entpacken Sie die ZIP-Datei und laden Sie das CaptchaAd-Verzeichnis auf Ihren Webserver. 2/11

Die Konfiguration siehe config.cfg weiter unten (oder in der Datei configuration/config.cfg) Öffnen Sie das CaptchaAd-Verzeichnis und bearbeiten die Datei config.cfg im Ordner configuration. Diese Datei ist die Konfigurationsdatei. Wichtig: Die nachfolgenden Zeilen mit dem roten CaptchaAd-Pfeil müssen angepasst werden. Die Zeilen mit dem grauen CaptchaAd-Pfeil sind optional. Die rot markierten Einträge sind nur Beispiele. Bitte ersetzen Sie diese mit Ihren persönlichen Informationen (siehe oben»notwendige Informationen und Keys«). Zeile 2: (API Schlüssel / CAPTCHAAD_API_KEY) Geben Sie nach dem Doppelpunkt den von CaptchaAd erhaltenen API Schlüssel ein. CAPTCHAAD_API_KEY:85219e7febbe1918c2fd83cf0eff9a1f Zeile 3: (Publisher-ID / CAPTCHAAD_PUBLISHER_ID) Geben Sie hier die von CaptchaAd erhaltene Publisher Id als Integer ein. CAPTCHAAD_PUBLISHER_ID:999 Zeile 5: (Pfad zu den Daten / CAPTCHAAD_BASE_URL) Geben Sie hier die absolute Url zum CaptchaAd Verzeichnis ein. Es handelt sich dabei um den Speicherort des CapchaAd-Verzeichnisses auf Ihrem Webserver. CAPTCHAAD_BASE_URL:http://localhost:8080/CaptchaAdTest/ Vergessen Sie dabei nicht den abschließenden "/". Zeile 6: (Sprache / CAPTCHAAD_LANGUAGE) Geben Sie hier das Kürzel für die Sprache als String ein, das für die Darstellung der die Inhalte des CaptchaAd steht. Das betrifft die Sprache der Fragestellung, der Antworten und des Textes auf der Startseite. Zur Verfügung stehen derzeit Deutsch (de) und Englisch (en). CAPTCHAAD_LANGUAGE:de Zeile 7: (Breite / CAPTCHAAD_WIDTH) Geben Sie hier die dargestellte Breite des CaptchaAd als Integer ein. Standard ist 300 Pixel. CAPTCHAAD_WIDTH:300 Zeile 8: (Höhe / CAPTCHAAD_HEIGHT) Geben Sie hier die dargestellte Höhe des CaptchaAd als Integer ein. Standard ist 300 Pixel. 3/11

CAPTCHAAD_HEIGHT:250 Zeile 11: (automatischer Start / CAPTCHAAD_AUTOSTART) Hier lässt sich einstellen, ob das Video innerhalb des CaptchaAd automatisch abgespielt wird, oder auf die Interaktion des Nutzers wartet. Standard ist false (aus). CAPTCHAAD_AUTOSTART:false Zeile 12: (Sound / CAPTCHAAD_SOUND) Hier lässt sich einstellen, ob der Ton innerhalb des CaptchaAd anfangs ein- oder ausgeschaltet ist. Standard ist false (aus). CAPTCHAAD_SOUND:false Zeile 14: (recaptcha public key / CAPTCHAAD_3RDPARTY_RECAPTCHA_PUBLIC_KEY) Geben Sie hier den recaptcha public key ein, welchen Sie sich bei recaptcha erhalten. CAPTCHAAD_3RDPARTY_RECAPTCHA_PUBLIC_KEY:6LcDLgkAAAAAAPYhUh88_ryL5a0WMo0rtMYg-0J Zeile 15: (recaptcha public key / CAPTCHAAD_3RDPARTY_RECAPTCHA_PRIVATE_KEY) Geben Sie hier den recaptcha private key ein, welchen Sie sich bei recaptcha erhalten. CAPTCHAAD_3RDPARTY_RECAPTCHA_PUBLIC_KEY:6LcDLgkAAAAAAPYhUh88_ryL5a0WMo0rtMYg-0J Das CaptchaAd Objekt wird mit dem Pfad zur Konfigurationsdatei erstellt. Die Klasse instanziert dann ein Konfigurationsobjekt das den übergebenen Pfad plus den Namen der Konfigurationsdatei»config.cfg«zum einlesen verwendet. /path/to/my/config/file/config.cfg Die nötigen Konfigurationsdaten werden dann eingelesen und in den notwendigen Datentyp gecastet. Ein Beispiel für die Konfigurationsdatei finden Sie weiter unten in diesem Dokument. Zu beachten ist, dass keine Hochkommas verwendet werden. Leerzeichen am Anfang und Ende werden beim einlesen gelöscht. 4/11

ACHTUNG Falls Sie in Ihrer Laufzeitumgebung keine Absoluten Pfade angeben können, können Sie auch direkt ein CaptchaAd_Conf Object instanzieren und dieses direkt bei der Instanzierung des CaptchaAd Objektes übergeben. Die Konfigurationsdaten müssen dann über die Korrespondierenden setter Methoden gesetzt werden. Beispiel 1. CaptchaAd_Conf cc = new CaptchaAdConf(); 2. cc.setcaptchaad_api_key( XXXXXXXXX ); 3. // muss gesetzt werden, damit translation files 4. // gefunden werden 5. cc.setcaptchaad_base_path( PATH_TO_CONFIG ); Bitte beachten Sie bei den setter-methoden den korrekten Datentyp. CaptchaAd Konstruktoren 1. Instanzierung mit Pfadangabe (absolut) CaptchaAd ca = new CaptchaAd( PATH_TO_CONFIG ); 2. Instanzierung mit CaptchaAd_Conf Objekt CaptchaAd_Conf cc = new CaptchaAdConf(); cc.setcaptchaad_api_key( XXXXXXXXX ); // muss gesetzt werden, damit translation files // gefunden werden cc.setcaptchaad_base_path( PATH_TO_CONFIG ); CaptchaAd ca = new CaptchaAd(cc); 3. Instanzierung mit CaptchaAd_Conf und CaptchaAd_Translation Objekt // Conf Objekt instanzieren CaptchaAd_Conf cc = new CaptchaAdConf(); cc.setcaptchaad_api_key( XXXXXXXXX ); // Translation Objekt instanzieren CaptchaAd_Translation ct = new CaptchaAd_Translation(); // Translation Properties setzen ct.setalttext("meine Demo!"); ct.setcheckbutton_label("prüfen"); ct.setinput_label("willkommen zu meiner Demo"); ct.setzone_id(81); // CaptchaAd Instanz erzeugen CaptchaAd ca = new CaptchaAd(cc,ct); 5/11

Bespiel für die Instanzierung (aus demo.jsp) 8. // neue config instanz 9. // hier kann analog auch der Konstruktor ohne Pfadangabe verwendet weren 10. CaptchaAd_Conf cf = new CaptchaAd_Conf("/PATH/TO/CONFIG"); 11. 12. // neue translation Instanz 13. CaptchaAd_Translation ct = new CaptchaAd_Translation(); 14. // Translation Properties setzen 15. ct.setalttext("meine Demo!"); 16. ct.setcheckbutton_label("prüfen"); 17. ct.setinput_label("willkommen zu meiner Demo"); 18. ct.setzone_id(81); 19. 20. // neu CaptchaAd Instanz 21. CaptchaAd c; 22. c = new CaptchaAd(cf,ct); 6/11 6/11

Einbinden der Header Scripte Das einbinden in eine Html Seite ist wie folgt möglich. Zunächst muss das CaptchaAd Objekt mit dem Pfad zur Konfigurationsdatei instanziert werden (oder einer der anderen beiden Wege). Anschließend lassen sich durch den Aufruf der Methode gethtmlheader() die nötigen Informationen als String zurückgeben. Bei den HTML-Header-Scripten werden Script-Tags zur swfobject.js aus dem ressources Ordner und der OpenX Tag eingebunden. Hier ist wichtig, das die Dateien aus dem ressources Ordner über Ihren Webserver verfügbar sind und unter der Adresse CAPTCHAAD_BASE_URL erreichbar sind. Die Unterordnerstruktur von ressources muss erhalten bleiben. Erstellen der Html-Header Scripte 1. <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/tr/html4/ loose.dtd > 2. <html> 3. <head> 4. <meta http-equiv= Content-Type content= text/html; charset=utf-8 > 5. <title>welcome to Spring WEB MVC project</title> 6. <% out.print(c.gethtmlheader()); %> 7. </head> 8. <body> Zu beachten ist, dass die Ausgabe im HTML-Kopf einer Integration erfolgen sollte. 7/11

Einbindung in ein Formular Analog zur Instanzierung und Ausgabe im Html-Kopf lässt sich das einbinden der Usereingabe in den Html-Body einfügen. Das instanzierte CaptchaAd Objekt erzeugt beim Aufruf der Methode gethtmlbody() ein CaptchaAd_Translation Objekt (sofern es nicht über den Konstruktor übergeben wurde). Dabei wird das Kürzel aus der Konfigurationsdatei als Erkennung für die jeweilige Sprache verwendet. Als Standard wird die deutsche Übersetzung geladen und sollte nicht fehlen. Der Pfad für die Übersetzungsdateien entspricht dem Pfad zu der Konfigurationsdatei. Mit dem Zusatz das die Übersetzungsdateien in einem Unterverzeichnis namens translation liegen müssen. /path/to/my/config/file/translation/de.cfg Die Datei de.cfg im translation Verzeichnis kann als Vorlage für weitere Übersetzungen dienen. Der entsprechende Name der jeweiligen Übersetzung muss nur in die Konfigurationsdatei des CaptchaAd_Objekts eingetragen werden im Feld CaptchaAd_Lanugage. Einbinden im Body 1. <form method= post id= testform action= URL_TO_THIS_PAGE > 2. <% 3. // Zone-ID = nimmt Zonen-ID aus Translation 4. // Zone-ID > 0 übernimmt diese 5. // Bei falscher Zonen-ID wird Fallback recaptcha angezeigt 6. out.print(c.gethtmlbody(0)); 7. %> 8. <input type= submit name= ispost value= submit /> 9. </form> 8/11

Überprüfung der Eingabe Bei der Überprüfung der Eingabe eines Benutzers muss zunächst aus den Daten des Formulars ein CaptchaAd_Request Objekt erstellt werden. Dieses benötigt die folgenden Daten: CaptchaAd Felder CaptchaAdInput CaptchaAdSession CaptchaAdSwf RemoteAddr Recaptcha Felder für Fallback, im Normalfall null ReCaptchaChallengeField ReCaptchaResponseField // Die Eingabe des Users // Die Session Id des Benutzers // Für den Fall, dass die SWF Datei verwendet wurde // Ist die Remote Adresse des Users // Das Recaptcha Challenge Field // Das Recaptcha Response Field Dieses Objekt wird dann, mit der Methode checkanswer() vom CaptchaAd_Objekt aufgerufen. Als Ergebnis wird dann True oder False als Boolean Datentyp zurückgeliefert. Überprüfung der Eingabe 1. // Prüfung, ob Formular gesendet wurde 2. if(request.getparameter( ispost )!= null && request.getparameter( ispost ).equals( submit )){ 3. CaptchaAd_Request cr = new CaptchaAd_Request(); 4. cr.setrecaptchachallengefield(request.getparameter( recaptcha_challenge_field )); 5. cr.setrecaptcharesponefield(request.getparameter( recaptcha_response_field )); 6. cr.setrecaptchainput(request.getparameter( CaptchaAdInput )); 7. cr.setrecaptchasession(request.getparameter( CaptchaAdSession )); 8. cr.setrecaptchaswf(request.getparameter( CaptchaAdSwf )); 9. cr.setremoteaddr(request.getremoteaddr()); 10. 11. boolean result = c.checkanswer(cr); 12. 13. if(result == true) { 14. check = <span>die Prüfung war erfolgreich</span> ; 15. } else { 16. check = <span>die Prüfung ist fehlgeschlagen</span> ; 17. } 18. } Sollte der Request»CaptchaAdSwf«nicht beinhalten und die Recaptcha Felder nicht null sein, dann wird die Fallback Überprüfung durchgeführt und ausgewertet. 9/11

Besondere Hinweise Sprachen (Startseitentext) Angelegt sind im Standard-Paket von CaptchaAd bisher nur Deutsch und Englisch. Sollten Sie weitere Sprachvarianten benötigen, sind diese ohne größeren Aufwand schnell zu erstellen. Sollten Sie Anpassungen durchführen wollen, finden Sie die Sprachdaten im Ordner translation. In den dort abgelegten PHP-Dateien finden Sie auch die Texte, die auf der Startseite des CaptchaAd angezeigt werden. Automatisches Starten ACHTUNG: Bauen Sie CaptchaAds nur automatisch abspielend ein, nachdem Sie dies mit CaptchaAd abgesprochen haben! Ein falscher Einsatz kann die Wertigkeit eines Werbemediums extrem reduzieren. Das ist zum Beispiel dann der Fall, wenn ein Clip an Stellen abspielt, die für den Nutzer nicht sofort sichtbar sind. Bei Einbau ohne Absprache an ungeeigneten Stellen behalten wir uns vor die entsprechende Publisher-ID zu sperren. Ton an/aus ACHTUNG: Bauen Sie CaptchaAds nur mit eingeschaltetem Ton ein, nachdem Sie dies mit CaptchaAd abgesprochen haben! Unter Umständen verstößt dies gegen geltende Richtlinien. Bei Einbau ohne Absprache mit falschen Sound-Einstellungen behalten wir uns vor die entsprechende Publisher-ID zu sperren. 10/11

Die Skripte in der Übersicht Die Konfiguration config.cfg 1. # CaptchaAd puplisher settings 2. CAPTCHAAD_API_KEY:85219e7febbe1918c2fd83cf0eff9a1f 3. CAPTCHAAD_PUBLISHER_ID:34 4. # Your environment settings 5. CAPTCHAAD_BASE_URL:http://localhost:8080/CaptchaAdTest/ 6. CAPTCHAAD_LANGUAGE:de 7. CAPTCHAAD_WIDTH:300 8. CAPTCHAAD_HEIGHT:250 9. CAPTCHAAD_SWF_VERSION:20110527a 10. #special settings 11. CAPTCHAAD_AUTOSTART:false 12. CAPTCHAAD_SOUND:false 13. # recaptcha settings 14. CAPTCHAAD_3RDPARTY_RECAPTCHA_PUBLIC_KEY:6LcDLgkAAAAAAPYhUh88_ryL5a0WMo0rtMYg-0J 15. CAPTCHAAD_3RDPARTY_RECAPTCHA_PRIVATE_KEY:6LcDLgkAAAAAAGoVKxysw0infpBwHP88xtZqj6vb 16. # ------------------------------------------------------------------------ 17. # don't change the lines behind this commentline 18. # ------------------------------------------------------------------------ 19. CAPTCHAAD_3RDPARTY_OPENX_URL:http://master.captchaad.com/www/delivery/spcjs.php?id= 20. CAPTCHAAD_HOST:server.captchaad.com 21. CAPTCHAAD_URL:http://server.captchaad.com/ 11/11 11/11 11/11