PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PhP Sheduling -> Authentification Problems


daflow
2008-07-08, 08:35:27
Hi zusammen!

Vielleicht hat hier ja wer Tips und Anregungen.
Szenario:
Eine Php-Seite liest eine Reihe Tabellen aus und versucht aufgrund der Informationen, sich an eine Reihe Datenbanken zu connecten. Je nachdem ob dies gelingt oder eben nicht, wird eine Mail geschickt.
Klappt soweit wunderbar (wenn man die Seite über den Browser aufruft), jetzt der Hacken an der Sache: Das ganze soll im x-MinutenTakt geschedult werden. Wenn ich dazu den Windowsscheduler verwende (Batchfile mit php blafasel.php), habe ich in diesem Moment natürlich keine Session, sprich bin nicht authentifiziert... mir fehlen die entsprechenden Session-Variablen mit denen ich mich sonst gegenüber der Datenbank identifiziere ;( ... hier gleich ein gedanke: gibt es evtl. 'ne Möglichkeit den Benutzer/das PW des Windowsschedulinguser's in die PhP-Seite zu überführen?
Gedanke 2: Benutzer/PW direkt ins PhP-Skript... dabei is mir schon unwohl und da es ein Windowsserver ist scheinen mir lokale Admins nicht aussperrbar zu sein?! (Bei bisherigen Versuchen konnten sich selbige nach enzihene der Rechte einfach selber wieder Fileownerrechte geben, aber evtl. hab ich ja was falsch gemacht).
Gedanke 3: Auch Benutzer und Passwort ins File, aber dann "compilen" sprich irgendwas unlesbares zu machen. Hab mich mal ein weng mit bamcompile.exe rumgeschlagen... an sich funzt das erzeugte exe file, liefert aber beim Aufrufen jedesmal Fehlermelduingen das die php5ts.php bzw php4ts.php fehlt... Kopiere ich selbige ins Verzeichnis der Exe funktioniert die exe nicht mehr -.-

Vorschläge, Blickwinkel, Anregungen be welcome!

rotalever
2008-07-08, 19:22:57
Es ist ganz einfach. Wenn das Passwort nicht von Außerhalb kommt, muss es irgendwo auf dem Computer liegen. Da alle Orte des Computers dafür gleich sicher sind, entweder direkt ins PHP-Skript speichern oder per ?username=...&password=... an das Skript übergeben, und somit im Batch-Aufruf speichern. Ein verschleiern des Passworts bringt nicht wirklich was, da alle Information zum entschleiern ja auch auf dem selben Server liegen müssen.
Es bleibt dir also letztendlich nichts anderes übrig, als das Passwort im Klartext zu speichern. Oder ich habe dein Problem falsch verstanden.
Was hast du denn für einen Server, dass du dir Sorgen machen musst, dass jemand die Dateien lesen kann?

daflow
2008-07-09, 08:42:07
Ein ganz normaler Server, aber die zu hinterlegenden Passwörter gehen ausser unserer Abteilung keinen was an (und das für den lokalen admin haben eben mehr Leute ;) )

Habs jetzt über Bamcompile gelöst... damit kann man aus php-Dateien Executables erzeugen. War nur ein weng umständlich, weils nur php4-Komatibel is und da doch einige Funktionen (z.B. oci ... anders heissen). Funzt aber jetzt. Falls mal wer selbiges benötigen sollte, kann gern pmen ;)

rotalever
2008-07-09, 14:28:09
Wenn du daraus binaries erzeugts, sind die Passwörter aber immer noch enthalten.. Mit ein klein bisschen Zeit hat man die wieder als Klartext auf dem Bildschirm.. Passwörter verschleiern, bringt kaum Sicherheit, vor allem weiß der Angreifer in diesem Fall schon wo er suchen muss..

daflow
2008-07-10, 10:17:38
Dazu müsste der "Angreifer" aber schon deutlich mehr "kriminelle Energie" aufbringen und ein "aus Versehen" über Passwörter stolpern die halt irgendwo im Klartext drin stehen fällt aus, muss ja auch erstmal überhaupt jemand auf die Idee kommen, das diese Exe ein Passwort enthält... dann den User noch rausbekommen, für was für ein System der User ist und wie er auf diesem dann weiterkommt um an Informationen zu gelangen aeh... ja. Ist ja auch nur im Intranet zugreifbar das Ding.

Edit: Aber wie gesagt, wenns 'nen Vorschlag gibt, der mehr Sicherheit verspricht... immer her damit ;)

rotalever
2008-07-10, 11:20:00
Ja das stimmt wohl. Da kann man sich dann auch nicht mehr so leicht rausreden: "ich wollte doch nur mal schauen wie das programmiert ist und dann stand da plötzlich ne passwortlist";)