PHP kimlik + mod_rewrite

0 Cevap php

Ben kullanıcı o belli bir alt dizinine erişen her sayfa için, günlüğe olduğunu sınayan bir PHP komut dosyası var. O kaydedilir eğer, o başka türlü o bir oturum açma sayfasına yönlendirilir alır, sayfayı alır. Bunun yerine (mümkün değil bazı ikili beri) her dosyanın içine bu da dahil olmak üzere, bu gibi. Htaccess kurmak

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !^$
RewriteRule (.*) /check.php?filename=special/$1

Ve check.php içeriği olan

if (!isset($_SESSION['username']))
{
    header("location: /login.html");
    die();
}
$filename = $_GET['filename'];
include($filename);

Sorun üst dizine geçmek için dosya içinde .. / geçmek ve hatta / var / www bırakabilirsiniz çünkü check.php yerel dosya dahil savunmasız olmasıdır. Nasıl ben sadece özel dizinden okuma kısıtlamak veya PHP onay Apache hedef dosya yerine dosya okuma PHP senaryoyu okumak için izin geçerse ben un-rewrite için herhangi bir yolu var mı?

Edit Ben de özel dizinde alt dizinleri vardır. check.php özel dizinin üst dizinde olduğunu.

0 Cevap