Teil von  SELFPHP
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
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

 


Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!

Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.


 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner LeaseWeb Germany GmbH
Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


DM Solutions
Microsoft Deutschland GmbH
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2013 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt