Ankündigung

Einklappen
Keine Ankündigung bisher.

Direkten Zugriff auf PHP-File mit .htaccess unterbinden?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Direkten Zugriff auf PHP-File mit .htaccess unterbinden?

    Hallo,

    ich hoffe jemand kann mir helfen Ich sende per Ajax und Jquery ein paar Variablen an ein PHP-File das in einem Unterordner liegt zu weiteren Bearbeitung der Variablen und sendet dann wieder Daten zurück, und das funktioniert auch alles super. Im Moment ist es aber noch möglich diese PHP-Files direkt über die Browserleiste aufzurufen, was dann in etwa so aussieht:

    http://domain.com/directory/phpfile.php

    Was ich jetzt gerne erreichen möchte ist, den direkten Zugriff PHP-Files über die Adressleiste des Browsers zu verhindern, aber gleichzeitig muß es weiterhin möglich sein über die eigene Domain Variablen per Ajax dorthin senden zu können und auch von da aus wieder woanders zur eigenen Domain hin senden zu können.

    Es wäre natürlich super wenn man direkt den gesammten Unterordner schützen könnte:

    http://domain.com/directory

    Da in diesem Ordner mehrere PHP-Files sind die ich gerne vor direkten Aufrufen über die Browserleiste schützen möchte. Bitte denkt aber daran das es immer noch möglich sein muß Variablen dorthin senden zu können, und von da aus auch wieder zu einem anderen PHP-File auf dieser Domain Ich habe mein .htaccess übrigens im root Verzeichnis und dort ist auch der Unterordner:

    .htaccess
    directory
    index.html
    ...

    Ich wäre für jede hilfe wirklich sehr dankbar

    Vielen Dank und viele Grüße
    Web1978


  • #2
    Wenn du die Dateien vor einem Zugriff schützt, dann funktioniert der Zugriff via Ajax auch nicht mehr. Ein (wenn auch extrem schwacher) Schutz wäre, in der betreffenden PHP-Datei in $_SERVER zu schauen, ob es ein Ajax-Request war: $_SERVER['HTTP_X_REQUESTED_WITH'];
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Mach den Aufruf doch erstmal als POST Request und füge einen POST Parameter hinzu. Dann kannst du in den SCript auf den Parameter testen und wenn er nicht da ist macht das Script schonmal nichts.

      Klar kann man den POST PArameter auch faken beim Aufruf aber immer noch besser als nichts. Ich weiß ja nicht wie sicher das Ganze sein muss.

      Gruß

      Claus
      Pre-Coffee-Posts sind mit Vorsicht zu geniessen!

      Kommentar


      • #4
        Naja, man könnte spezielle Einmal-Token benutzen, dann wird das Faken des Parameters nicht leicht.
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Hallo,

          erstmal vielen Dank an alle für die Hilfe Selbstverständlich habe ich noch ein paar Fragen

          1. An rkr: Dein Lösungsansatz gefällt mir bis jetzt am besten und auch am einfachsten umzusetzen, könntest du mir bitte etwas ausführlicher erklären warum deine Lösung nicht so sicher ist? Und könnte man dann bei deiner Lösung immer noch Variablen an die PHP-Files über die Browserleiste übergeben:

          http://domain.com/directory/phpfile....&user=username

          Den ich möchte auf jedenfall unterbinden das man Variablen so über die Browserleiste übergeben kann

          2. An Thallius: Könntest du mir vielleicht ein kleines Beispiel zeigen, zum Beispiel wie die POST Variablen aussehen müssen?

          3. An Istegelitz: Ich glaube deine Lösung ist auch eine gute Idee und ich werde sie im Auge behalten

          Vielen Dank und viele Grüße
          Web1978

          Kommentar

          Lädt...
          X