Php ile include ile çağrılan sayfayı engellemek
arkadaşlar selam ben include yada require ile .php sayfasını index.php sayfasına cağırdım fakat kullanıcılar url kısmına navbar.php yazdığı zaman erişebilecekler bunların erişmemesi içinnasıl bir önlem alırım
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
Merhaba. Diyelim ki sayfa.php dosyasında navbar.php dosyasını include
ediyorsunuz. Bu durumda sayfa.php sayfasında bir değişken oluşturursunuz ve navbar.php sayfasında bu değişkenin varlığını kontrol edersiniz. Şöyle ki:
sayfa.php
<?php
define("CONTROL", true); // CONTROL adında bir sabit değişken oluşturduk.
?>
<html>
<head>
<title>Sayfa</title>
</head>
<body>
<?php include("navbar.php"); ?>
<div>Sayfa içeriği</div>
</body>
</html>
Şimdi de navbar.php sayfanızın başında, CONTROL
adlı bir değişkenin oluşturulup oluşturulmadığını kontrol edebiliriz.
navbar.php
<?php if(!isset(CONTROL)) { echo "Bu sayfaya doğrudan erişemezsiniz!"; exit(); ?>
<nav>
navbar içeriğim
</nav>
Bu şekilde, navbar.php dosyasının sadece CONTROL
adlı bir sabit değişken oluşturulmuş sayfalardan erişilebilmesini sağlamış olursunuz.
Bu yöntem PHP'nin Codeigniter framework'ünde kullanılıyor. Muhtemelen diğer framework'lerde de kullanılıyordur.