. Htaccess ile HTML dosyaları Koruma

4 Cevap php

Benim PHP uygulaması aynı HTML dosyası için birden fazla sorgu sadece nesil bir kez çalıştırmak için neden o kadar HTML dosyaları oluşturmak için 404 Belgeler kullanır.

Ben kullanıcı dosyaları çekmek için kurulmuş bir PHP oturumu olması gerekir, böylece HTML dosyaları istekleri yakalamak istiyorum.

En iyi durumda, OTURUM kimliği URL kullanılan ve bir başka kimlik olarak kullanılabilecek zorlamak olacaktır. Örneğin, oturum bir SessionId vermek ve sizin için sadece belirli HTML dosyaları erişilebilir yapar.

Ben kurabiye değiştirerek bir istek parodi olabilir farkındayım, ama bu iyi.

Bunu nasıl yapıyor hakkında gitmek istiyorsunuz?

4 Cevap

Böyle bir şey (Ben bunu test değil) işe yarayabilir:

RewriteCond %{HTTP_COOKIE} PHPSESSID=([a-zA-Z0-9]+)
RewriteCond %{REQUEST_FILENAME} %{REQUEST_FILENAME}-%1.html
RewriteRule ^ %{REQUEST_FILENAME}-%1.html

Bu "-$session_id.html" dosya ($session_id PHP'nin oturum kimliği) append varsayar.

Bu güvenli olmalı ve yarar dosyalar tüm PHP yürütmesini olmadan doğrudan web sunucusu tarafından sunulan olmasıdır.

SetEnvIf HTTP_COOKIE "PHPSESSID" let_me_in
<Directory /www/static/htmls>
  Order Deny,Allow
  Deny from all
  Allow from env=let_me_in
</Directory>

Tabii ki kullanıcı elle kendi tarayıcısında böyle çerez yaratabilirsiniz (do uzantıları olduğunu Firefox için, ve her zaman tarayıcınızın çerez mağaza düzenleyebilirsiniz).

Eğer bir PHP komut dosyası için .html URL isteklerini yönlendirmek için Apache module mod_rewrite kullanabilirsiniz:

RewriteEngine on
RewriteRule \.html$ script.php [L]

İstenen URL yolu ve sorgu $_SERVER['REQUEST_URI'] değişken sonra mevcuttur.

Eğer ama yine PHP onlara erişebileceğiniz bir yerde, web kökünden dosyaları önbelleğe koydu.