Teil von  SELFPHP
Letztes Update: 14.09.2007 09:07:01

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Benutzer-/Passwort-Authentifikation mit CURL


Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.0.3
  • PHP 5
  • curlBibliothek

Datei(en)

curl_auth.php

Problem

Sie haben bereits im vorangegangenen Beispiel gesehen, wie Sie ein Formular mittels CURL-Funktionen automatisiert ausführen. Was ist aber, wenn dieses Formular hinter einem passwortgeschützten Bereich liegt? Wir werden in diesem Beispiel aufzeigen, wie Sie wiederum mit den CURL-Funktionen dieses kleine Problem lösen.

Lösung

Wir nehmen unsere bereits bekannte Funktion aus dem vorherigen Beispiel und erweitern sie für die Aufnahme eines Usernamens und eines Passworts für ein geschütztes Verzeichnis. Da wir bereits im vorherigen Kapitel den Programmcode beschrieben haben, werden wir hier nur die Neuerungen erklären.

function curlStart($domain, $var)
   @param   string   $domain
   @param   string   $var
   @param   string   $user
   @param   string   $pass
   @return   bool      $send

Der Funktion curlStart() werden zwei zusätzlich Variablen übermittelt, damit die CURL-Funktionen diese an die aufrufende Seite übermitteln können. Wir überprüfen innerhalb der Funktion, ob ein Username und Passwort übermittelt wurden (44). Falls ja, so setzen wir die weitere Option CURLOPT_USERPASSWD (45) und können jetzt die Abfrage senden.

34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
function curlStart($domain$var false$user false$pass false){
    
    
$fp curl_init($domain);
    
    
curl_setopt($fp,CURLOPT_TIMEOUT,10);
    
    
curl_setopt($fp,CURLOPT_FAILONERROR,1);
    
    
curl_setopt($fp,CURLOPT_RETURNTRANSFER,1);
    
    if(
$user != false || $pass != false) {
        
curl_setopt($fp,CURLOPT_USERPWD,$user.":".$pass);
    }
    
    if(
$var != false) {
        
curl_setopt($fp,CURLOPT_POST,1);
        
curl_setopt ($fpCURLOPT_POSTFIELDS$var); 
    }
    
    
curl_exec($fp);
    
    if(
curl_errno($fp) != 0) {
        
$send FALSE;
    } else {
        
$send TRUE;
    }
    
    
curl_close($fp);
    
    return 
$send;
    
}
Beispiel 10.6: curl_auth.php

Wir haben hier als Beispiel den Programmcode des vorangegangenen Beispiels herangezogen. So wäre es z. B. auch möglich, verschiedene Seiten mit unterschiedlichen Zugangsdaten anzusteuern. Sie müssen lediglich den Usernamen und das Passwort für jede Abfrage übermitteln.

67:
68:
69:
70:
71:
72:
73:
74:
75:
$formURL 'http://www.nureinbeispiel4.de/curl_formular.php';
$var 'vorname=Damir&name=Enseleit';
$user 'Damir';
$passwd 'Enseleit';

for(
$x=0;$x<50;$x++) {
    
$send curlStart($formURL,$var$user$passwd);

}
Beispiel 10.7: curl_auth.php

 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt