2009-05-19 8 views
0

Ich verwende einen neuen Dienst, um XML-Daten von einem Server zu ziehen.Methode zur Authentifizierung über ein PHP-Skript auf meinem Server

Der Dienst bietet zwei Methoden in der Anmeldung, eine über eine URL-Abfrage:

http://<server>/login.asp?username=<User Name>&password=<Password> 

und der Server gibt einen Cookie gültig für 7 Tage. Das bedeutet, dass ich mich nicht für jede Anfrage anmelden muss (und mein Skript weniger effizient machen muss), sondern mich nur einmal pro Woche anmelden muss.

Ich habe gerade festgestellt, dass ich dies nicht tun kann, da das Skript nicht von einem Webbrowser, sondern von einem Cron-Skript auf dem Server ausgeführt wird. Gibt es eine Möglichkeit zum Speichern von Cookies auf meinem Server, oder muss ich für das zweite Verfahren gehen:

Token

Das Token wird der Benutzername, passwork und verschlüsselten Benutzergruppe den DES Algorithmus mit ein Schlüssel und ein Zeitstempel. Das Token kann durch irgendeine Anwendung mit Hilfe des DES-Algorithmus mit dem entsprechenden Schlüssel oder den sicheren Anruf unten erzeugt werden kann, verwendet werden: das Token im Körper der zurück Seite enthalten ist, und ist gültig für eine Stunde

Ich weiß nichts von dieser Methode. Kannst du mich in die richtige Richtung weisen? Vielen Dank.

Ed

Antwort

1

Gibt es eine Möglichkeit, Cookies auf meinem Server zu speichern?

Ja. Hier ist, wie:

curl -c cookies.txt http://<server>/login.asp?username=<User Name>&password=<Password> 

, dass sie in Netscape-Format cookies.txt schreiben.

Noah

0

Wenn Sie Zugriff auf die eigentliche Anmeldeskript haben, können Sie stattdessen immer auch eine Art einzigartige ID nur Sie wissen ..

Noch besser wäre es etwas HMAC- zu verwenden (MD5/SHA1) Schema wie OpenAuth tut. Wenn Sie faul sind, fügen Sie einfach etwas wie "? Key = somethingonlyyouknow" in jede URL ein, auf die Sie zugreifen, indem Sie Benutzername + Passwort umgehen. Benutzer + Passwortschema sollte nur wirklich von Menschen benutzt werden, nicht von Maschinen.

Wenn das alles fehlschlägt, ändern Sie das Skript, um den Cookie zu speichern. Wenn Sie 'curl' verwenden, können Sie festlegen, dass Cookies gespeichert werden sollen und in welcher Datei das sein soll.

Verwandte Themen