system-Befehl - Problem/Frage
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufruf
aufrufen
ausgabe
befehl
benutzername
code
dank
datei
eingabe
information
problem
programm
server
status
stehen
string
system
tolles beitrag
umleitung
zeile
-
Hallo!
Ich muss das Linux-Programm ncsa_auth, welches beim Proxy-Server squid dabei ist, von php aus aufrufen. Diese Datei dient zum Passwort authentifizieren.
Befehl: ncsa_auth passwordfile (es gibt keine anderen Verwendungsmöglichkeiten dieses Befehls)
Anschließend wird eine Eingabe erwartet, wo man Benutzername und Password eingeben muss. Nach dieser Eingabe kommt ein string, der angibt, ob die Authentifizierung erfolgreich war oder nicht.
Problem:
Wie kann ich in PHP mit dem system-Befehl (o.ä.) diesem Befehl ausführen? Das Problem ist, dass man den Befehl nicht in einer Zeile ausführen kann, sondern, dass dann noch eine Eingabe erwartet wird.
Vielen dank im voraus!
mfg
cs3000 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Aus einer Datei solle es funktioniern. Du hast also eine Datei \"logindaten\" in der die Informationen stehen, die du sonst nach Aufruf des Programms eingibst.
Dann schreibst du:
system(\"ncsa_auth passwordfile < logindaten\");
Funktioniert auf jeden Fall auf einer normalen Shell und php macht ja afaik nichts anderes als den String an die Shell weiterzugeben.
Da in der Datei \"logindaten\" allerdings Benutzername und Passwort stehen sollte du vllt. darauf achten, dass die Berechtigungen nicht zu locker sind.
€dit: Wenn du auch noch auswerten willst, ob der Login erfolgreich war schreibst du:
system(\"ncsa_auth passwordfile < logindaten > status);
Danach steht in der Datei \"status\" der String, den \"ncsa_auth\" ausgegeben hat.
(Ein/Ausgabe Umleitungen sind was tolles )
Beitrag geändert: 19.3.2008 17:22:37 von kochmarkus -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage