Absicherung gegen direktaufruf

dondan

ಠ_ಠ Progger ಠ_ಠ
ID: 243782
L
19 Juni 2006
960
98
Guten abend miteinander,

ich versuche PHP Scripte gegen direktaufruf zu schützen.
So das ganze wäre bei normaler verwendung auch kein Problem, aber die Scripte werden hinterher per AJAX nachgeladen.

hoffe ist verständlich, wenn nicht einfach fragen!

danke im vorraus.
dan
 
Meinst du sowas wie?

datei.php
PHP:
define('allowed', true);

andereDatei.php
PHP:
if (!defined('allowed'))
   die();

Wobei andereDatei.php von datei.php eingebunden wird.


Edit: Oder sowas?
PHP:
if ( !($_SERVER['REMOTE_ADDR'] == 'localhost') )
  die();
 
Zuletzt bearbeitet:
Meinst du sowas wie?

datei.php
PHP:
define('allowed', true);

andereDatei.php
PHP:
if (!defined('allowed'))
   die();

Wobei andereDatei.php von datei.php eingebunden wird.


Edit: Oder sowas?
PHP:
if ( !($_SERVER['REMOTE_ADDR'] == 'localhost') )
  die();


Hey,

das is ja kein problem, würde ich auch so machen wenn ich die PHP files include.
Aber ich ruf sie ja indirekt mit AJAX auf.

gruß
dan
 
Nun, dein Skript soll ja einzeln gerufen werden (denn etwas anderes ist ein AJAX-Aufruf ja auch nicht, nur dass die Antwort eben von einem Schnipsel JavaScript oder ähnlichem weiterverarbeitet wird), daher wirst du auch nicht verhindern können, dass es von Hand aufgerufen wird. Du kannst es dem User nur möglichst schwer machen, indem du z.B. beim AJAX-Aufruf irgendeinen kryptischen Parameter, eine Session-ID oder was auch immer übergibst, was das Ziel-Skript dann auswertet, und nur wenn der Parameter passt, wird auch was getan...