Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Seitenaufruf blockieren mit htaccess [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Seitenaufruf blockieren mit htaccess


 
TippEx
05-04-2009, 20:53 
 
Ich habe da auf meiner Home.php Seite einen Inlineframe, der auf die „Login-Seite“ verweist.


<iframe src="/content/test/login.php" width="200px" height="112px" frameborder = "0" scrolling = "no">
Ihr Browser unterstützt keine Frames. bla bla
</iframe>




Nun ist es aber so, dass man die Datei „login.php“ ganz gewöhnlich im Browser aufrufen kann.

Dies möchte ich gerne verhindern und wollte dies über .htaccess erreichen.

.htaccess soll also die Adresszeile im Browser prüfen und filtern.

Wenn da der Benutzer beispielsweise dann die Login-Seite direkt aufrufen will, soll eine Umleitung auf die index.php-Seite
im Root-Verzeichnis erfolgen.

Mein Ansatz war wie folgt:

.htaccess:



<LocationMatch "/content/test/">
Authtype Basic
Order Deny,Allow
Deny from all
</LocationMatch>


Leider funktioniert dies bei mir aber nicht unter Localhost. Habt ihr vielleicht einen besseren Lösungsvorschlag ?

In PHP kann ich blöderweise nur die REQUEST-URI auswerten, nicht aber die Adresszeile vom Browser.

Jemand eine Idee ?

Vielen Dank im Voraus.

 
TobiaZ
05-04-2009, 21:00 
 
.htaccess soll also die Adresszeile im Browser prüfen und filtern. Unmöglich!

Leider funktioniert dies bei mir aber nicht unter Localhost. Habt ihr vielleicht einen besseren Lösungsvorschlag ? Funktioniert es denn woanders? Wenn ja, wie?

In PHP kann ich blöderweise nur die REQUEST-URI auswerten, nicht aber die Adresszeile vom Browser. Kein Wunder, die Adresszeile befindet sich auf dem Klient, PHP auf dem Server. Dass PHP keinen Zugriff auf den Klient hat ist einen angenehme Eigenschaft. ;)

Fazit: Es ist eigentlich unmöglich zu überprüfen, ob die login.php als teil des Iframes geladen wird, oder direkt aufgerufen wird.

Ach so, wo ist hier eigentlich das PHP-Problem?

Wir können ja mal nach einer geeigneteren Lösung "Brainstormen"?

 
wahsaga
05-04-2009, 21:02 
 
Original geschrieben von TippEx
In PHP kann ich blöderweise nur die REQUEST-URI auswerten, nicht aber die Adresszeile vom Browser.
Du könntest in dem Falle höchstens den Referrer auswerten - aber der ist bekanntlich beliebig manipulierbar, taugt für einen "Schutz" also so gut wie gar nicht.


Ansatzweise lösen liesse sich das vielleicht über Sessions. Aber vernünftiger wäre es, gleich auf die Einbindung im Iframe zu verzichten, und das Loginformular normal auf der Seite mit einzubinden,


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:12 Uhr.