Giriş yapmadınız ziyaretçiler benim çerçevesini korumak için en iyi tekniği nedir?

3 Cevap php

Her şeyden önce, ben belki çünkü benim kötü İngilizce becerileri, ben benzer bir soru arıyorsanız arama kutusuna kullanılmış ve başarısız olduğunu söylemek istiyorum.

Ben bir 'ev yapımı' bir çerçeveye sahip. Ben sadece admin için görünür olmalıdır belirli bir PHP dosyaları var. Şu anda bu yapmak yolu bir oturum açılmış görmek için her sayfa içinde kontrol edilir. Değilse, kullanıcı mevcut değil talep edilmiştir dosyası gibi görünüyor, bir 404 sayfaya yönlendirildi.

Bu işe garanti ya da ben şu anda gizli verilerin tür çalışıyorum çünkü daha iyi ve daha güvenli bir yol varsa kamu haline asla eğer ben gerçekten bilmiyorum.

Bana bazı ipuçları verebilir misiniz? Ya da bazı bulabildiğim bir bağlantı bırakmak?

Çok teşekkür ederim, ve yine sözlük tekme için beni bağışlayın.

EDIT

Ne genellikle her dosyanın üstüne yazmak böyle bir şeydir

<?php
include("sesion.php");
$rs=comprueba(); //'check'

if ($rs) { 
?> 

Ve sonra, sonunda

<?php 
}
else { header("Location: err404.html"); }
?>

Böyle bir butched iş, değil mi?

EDIT

Diyelim ki customers.php adlı bir dosyada bir müşteri listesi var diyelim

Bu dosya şu anda üzerinde olabilir http://www.mydomain.com/admin/customers.php ve sadece yönetici kullanıcı için görünür olması gerekir. Admin kullanıcı giriş edildikten sonra, ben bir oturum değişkeni oluşturun. Bu değişken Ben her sayfanın üstünde kontrol ne olduğunu ve eğer varsa, müşterilerin listesi gösterilir. Değilse, kullanıcı 404 sayfasına yönlendirildi.

Sabrınız için teşekkür ederiz. Ben gerçekten takdir ediyorum.

3 Cevap

Ben şiddetle oturumları kullanmanızı öneririz.

Şimdi, ben bunu yapmak için iki yol olduğunu düşünüyorum.

Aklıma en kolay yoludur: Bir session.php dosyası yapmak ve / uygulamanızda her dosyaya ihtiyaç bulunmaktadır.

Bu session.php kullanıcı başarıyla (tercihen şifreli tuzlu dize) açtığında tanımlayabilirsiniz güvenlik belirteçleri için bir oturum denetimi yapmak.

Edit: What I do in session.php file is die(); or redirect with header(); if no correct session is detected.

İsterseniz bu dosyaların bir anda idam ediliyor ise oturum denetimi atlanır, böylece "kamu" dosyalarının bir dizi ekleyebilirsiniz.

(Hala oturumları ve belirteç doğrulama kullanarak) bunu yapmak için başka sert bir şekilde oturumları kontrol ve daha sonra istenen eylemi işlenmiş bir görünüme istekleri yönlendirildi bir memuru dosyası oluşturmak olacaktır.

Güvenlik app hayati ise, bu kılavuzu okumak gerekir: PHP Security Guide: Overview php güvenlik consortioum tarafından.

Özür dilemek Sorunuzu yorumlarken yanlış ama ben onları görmek için URL yazarak insanlardan çerçevesinde kullanılan bireysel PHP sayfaları korumak için en iyi yolu soruyorsun düşünüyorsanız?

Eğer öyleyse, ben buldum iyi rota ana dosyasına (genellikle index.php) sürekli bir ilan etmektir.

<?php
define( '_MYAPP', 1 );

Sonra, her PHP dosyasının en üstünde koymak (before sizin sınıfları tanımlar) -

<?php
defined( '_MYAPP' ) or die( 'No access.' );
<?php
$logged_in = 'no';
include("session.php"); // changes $logged_in to yes if logged in

if($logged_in == 'no'){
header("Location: login.php?error=notloggedin");
exit;
}
?>

Eğer tüm sayfaların üstünde bu koymak, ya da sadece session.php dosyasına koymak, ya da tüm sayfalara dahil etmek için bir header.php dosyası yapabilirsiniz ya.