webForumDet fria alternativet

Kolla om en sida är required

PHP

3 svar · 458 visningar · startad av K++

Medlem sedan juli 2002171 inlägg
Frågan#1

Finns det något sätt att kolla hur en sida anropas? Om den till exempel inte är anropad vid require så nekas man access? Jag vet att man kan lägga filer utanför roten, men det är inte vad jag är ute efter..

Medlem sedan okt. 2001538 inlägg
#2

Hej :)

Den här snutten funkar ganska bra för mig:

if (realpath(__FILE__) == realpath($_SERVER['SCRIPT_FILENAME'])) {
  // skicka dem till error.php
} else {
  // filen är inkluderad, gör något
}

MVH Patrik

Medlem sedan juni 20006 031 inlägg
#3

I sidan som måste vara öppnad brukar jag ha

define('INCLUDECHECK', 1);

och sen kollar jag i sidan som jag inkluderar med

<?php 
// Kolla så sidan får visas
if (!defined('INCLUDECHECK')) {
   header("Location: index.php");
   exit;
}
?>

Om includecheck inte är definierad så skickas man till index.php

Medlem sedan juli 2002171 inlägg
#4

Smarta lösningar, tack så mycket.

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)