Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP-Dateien vor direktem Aufruf im Browser schützen. (https://www.delphipraxis.net/119350-php-dateien-vor-direktem-aufruf-im-browser-schuetzen.html)

Die Muhkuh 25. Aug 2008 10:54

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Was Du bist, weiß keiner so genau :mrgreen:

Matze 25. Aug 2008 10:55

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Eine Bot-Erkennungsfunktion finde ich nicht schön, da ständig neue Bots hinzukommen. Außerdem kann man die Bots nur am User-Agent oder der IP erkennen. Die IP ändert sich ständig und der User-Agent kann vom Bot selbst definiert werden. Oftmals ist es ein gängiger Browser-User-Agent. Somit ist das alles andere als zuverlässig.
Per htaccess kann ich auch nur den Referer prüfen und das ist bei JS nicht möglich.

@Martin: Genau. Wenn jemand den Link direkt von meiner Website aufruft oder wenn die JS-Datei dies tut, soll es funktionieren. Gibt man die URL direkt im Browser ein, sollte der Code in der PHP-Datei nicht ausgeführt werden.

@Deddy: Ne, der User-Agent taucht sicher nicht in einer bekannten Bot-Liste auf. :P


PS: Langsam nerven die ganzen roten Kästen, ich kann den Beitrag gar nicht absenden. *g*

Namenloser 25. Aug 2008 10:56

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Ja, das war meine Frage, ob es um den Link geht, der von dem JS aufgerufen wird oder um den, den er hinschreibt wenn kein JS aktiviert ist.

Bei dem Link könnte ein Captcha helfen.

Aber ich glaube nicht, dass es für die AJAX-Seite eine 100%ige Lösung gibt. Du könntest höchstens ein möglichst kompliziertes Anmeldesystem (ginge dann wieder in Richtung Session) erstellen, wobei auch das natürlich knackbar wäre. Ist halt die Frage wie viel es dir bzw. dem Angreifer Wert ist.

Matze 25. Aug 2008 10:57

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Das "Problem" ist, dass auch nicht registrierte Besucher den Link nutzen dürfen. Sonst müsste ich ja nur die Session-Überprüfen.

Edit: Und eine Captcha kommt für mich nicht in Frage. Ziel ist es, die Benutzung so einfach zu halten, das ein einziger Link-Klick zum Ergebnis führt.

Namenloser 25. Aug 2008 10:58

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Und wenn du für jeden Besucher auch eine Session erstellen würdest? Natürlich erst nach dem Lösen eines Captchas.

[edit]Ok, also wenn Captcha ausscheidet wirds schwierig[/edit]

Phoenix 25. Aug 2008 11:26

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Quick & relativ dirty:
Übergebe bei einem Aufruf den Du selber startest und erlaubst einen 'geheimen' Parameter in der URL mit.
Fehlt dieser, ist es ein ungültiger Aufruf.

Bots raten nicht wild irgendwelche Parameter. Diese hast Du damit zuverlässig ausgesperrt. Ein menschlicher Benutzer könnte das zwar, müsste dann aber auch erst den korrekten Wert des Parameters erraten.

alcaeus 25. Aug 2008 11:30

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Zitat:

Zitat von Phoenix
Übergebe bei einem Aufruf den Du selber startest und erlaubst einen 'geheimen' Parameter in der URL mit.
Fehlt dieser, ist es ein ungültiger Aufruf.

Ich hatte auch an eine Art One-Time-Password gedacht. Du muesstest fuer jeden AJAX-Link ein eigenes OTP generieren. Wird die URL aufgerufen, wird das OTP geloescht und ein neues generiert und in den Link eingetragen. Wenn die OTPs dann auch nach einer gewissen Zeitspanne verfallen, ist es relativ schwer, einen ungueltigen Aufruf zu starten.

Greetz
alcaeus

Matze 25. Aug 2008 11:32

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
@Phoenix: Hm wie meinst du das genau?
bei Betreten der Seite speichere ich einen Zufalls-String in der Session, prüfe auf diesen und nach dem Aufruf des Skripts lösche ich ihn wieder aus der Session und erzeuge ggf. einen neuen?
Das würde den direkten Aufruf vermutlich verhindern, stimmt. Ich überlege nur grad, wo dort der Haken ist. :gruebel: :mrgreen:

@Andy+Phoenix: Ginge das auch über das $_SESSION-Array?

@Andy: Gut, du hast mir schon die meisten Antworten auf die Fragen gegeben. ;)

Namenloser 25. Aug 2008 11:35

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
IMO ist der Haken, dass ich das ganze immer noch automatisiert durchführen kann:
Seite aufrufen, ID abholen, AJAX-Seite mit ID aufrufen... Wirklich was gewonnen hast du dadurch nicht, außer, dass noch mehr Traffic erzeugt wird.

Matze 25. Aug 2008 11:39

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Das stimmt natürlich, aber ob das Bots machen, hm.

Edit: Vielleicht ab heute, weil ihr den "Trick" verraten habt. *g*


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz