Delphi-PRAXiS
Seite 3 von 4     123 4      

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)

SubData 25. Aug 2008 11:46

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Evtl hilft auch das hier: http://de.wikipedia.org/wiki/Nofollow

Matze 25. Aug 2008 12:00

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Ne, das bringt mir nichts, denn Bots finden diese links dennoch.

generic 25. Aug 2008 12:38

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Es geht nicht, was du willst.

Fakten:
AJAX ist nichts anderes als eine Browseraufruf.
Deine Routinen müssen das Ziel kennen.
Dadurch muss das Ziel auch zum Client übertragen werden.
Alles was der Client hat, sieht und übertragen bekommt kann man sich anzeigen.
Im Zweifelsfall über Wireshark.

Schutzmechanismen kannst du aushebeln (sehr einfach sogar).
z.B. Browserstring verändern oder mit GreaceMoneky

Hier diese Spiel z.B. versucht das auch.
Leider erkennen die auch den Firefox als Hack:
http://battle.operation-universe.4pl...e/index_de.php

Matze 25. Aug 2008 12:56

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Dass es nicht sicher funktioniert, weiß ich. Doch man kann versuchen, es Bots schwer zu machen und das könnte mit diesem Zufalls-String klappen.
Das ist genauso wie mit Crack-Schutz-Mechanismen bei Software. ;)

alcaeus 25. Aug 2008 12:59

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

Zitat von NamenLozer
Seite aufrufen, ID abholen, AJAX-Seite mit ID aufrufen... Wirklich was gewonnen hast du dadurch nicht, außer, dass noch mehr Traffic erzeugt wird.

Falsch, der Browser macht naemlich nichts anderes wenn du das Prozedere durchfuehrst. Wenn ich Matze richtig verstanden hab, will er folgendes:
  • Seite foo.php wird aufgerufen, diese enthaelt einen AJAX-Link
  • Wird dieser AJAX-Link geklickt, wird bar.php im Hintergrund aufgerufen, und verarbeitet

Zu verhindern gilt der zweite Schritt, d.h. das "unbeabsichtigte" Aufrufen von bar.php (z.B. weil der Link in Google indiziert wurde und als Suchergebnis angezeigt wird). Das liesse sich mit einem OTP leicht loesen, schliesslich ist das in der Ergebnis-URL gespeicherte Passwort nicht mehr gueltig ;)

Man muss an dieser Stelle aber auch sagen, dass das AJAX-Script (in diesem Fall bar.php) alle Kontrollen machen muss, d.h. ist der User eingeloggt? Darf er die Aktion ueberhaupt vornehmen? Sind die Parameter gueltig? Alles andere waere grob fahrlaessig, wenn nicht sogar dumm.

Greetz
alcaeus

Kalfany 25. Aug 2008 13:16

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

ich habe vor einiger zeit sowas ähnliches gebraucht und zwar sollten zip / rar datein nur von einem PHP script aufgerufen (und ausgeliefert) werden.

.htaccess
Code:
Options +FollowSymlinks -MultiViews -Indexes
CheckSpelling Off

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.de/(.*)\.php$ [NC]
RewriteRule (.*)\.(RAR|ZIP)$ - [F]
evtl. funktioniert das ja für dich. erklärungen zu den einzelnen kommandos gibts auf der apache seite in der doku

Matze 25. Aug 2008 13:22

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
@Andy: Die Gültigkeit überprüfe ich selbstverständlich in der PHP-Datei.
@Kalfany: Das funktioniert in meinem Fall leider nicht, dass der direkte Aufruf über das JS möglich sein sollte.

tr909 25. Aug 2008 13:36

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
http://www.andreas-puls.de/2007/08/0...eferrer-check/
Code:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.meine-domain.de/.*$ [NC]
RewriteRule ^skript.php$ [F]

# optional für Dateiendungen

RewriteRule .(jpe?g|gif|bmp|png)$ - [F]
Somit wäre das Script mir namen "skript.php" nur über die Seite selbst aufrufbar.

Leider dürfte dann der Zugriff per Ajax nicht mehr nöglich sein.
Dafür hätte ich folgende Lösung. Dafür braucht man dann noch ein Ersatzscript das das eigentliche Script aufruft.
Das Ajax-Script ruft vorher ein php-script auf, das z.B. die IP und anderes speichert.
Beim Aufruf ddes "Ersatzscripts" wird geprüft ob es für diese IP einen Eintrag gibt, läuft durch und löscht den Eintrag wieder.
Am bsten per Timestamp nen ablaufdatum einbauen. Das die beiden scripte ja direkt nacheinander ausgeführt werden reicht ja ne gültigkeit im Sekundenbereich.

Gruß
tr909

Matze 25. Aug 2008 14:57

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Danke für deinen Vorschlag. Dann würde ich jedoch den Bots das Ersatzskript präsentieren und wäre da, wo ich vorhin auch war. ;)

Ich denke, ich teste gegen später die Lösung mit dem Zufalls-String.

Grüße

SubData 25. Aug 2008 15:19

Re: PHP-Dateien vor direktem Aufruf im Browser schützen.
 
Code:
<FORM METHOD="POST">
 
</FORM>
Wenn du Daten mit POST an den Server schickst, werden diese Daten von Bots ignoriert.

Und die Bots, die das nicht ignorieren, sind darauf ausgelegt nicht erkannt zu werden (Spam Bots).


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr.
Seite 3 von 4     123 4      

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