Kolla om en sida är required

PHP

3 svar · 485 visningar · startad av K++

Medlem sedan juli 2002171 inlägg
Trådstart#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.

381 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
125 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)