Autor Zpráva
KubikM
Profil
<?php
     if(!isset($_GET['id']))
    {
	       include "subpages/home.php";
	  } 
     else 
    {
	       include "subpages/".$_GET['id'].".php";
   	}
?>


Ahoj, chci se zeptat, jakým způsobem bych mohl tento kód zabezpečit a případně, zda-li je to nutné. Jedná se o část před administrací, ale putuje zde GET, tak se ptám. :-)
Nox
Profil
je... někdo by mohl třeba poslat "../index" a dostal bys třeba zacyklený include ...ikdyž....asi by se zas tak moc nestalo, akorát by byl špatný výpis, myslim že je tam nějaký limit a bezpečnostně by to snad nemělo nic...i tak
panther
Profil
KubikM:
chceš provozovat vlastní server a nevíš, jak ošetřit obyčejný string z URL?

má-li být ID číslo, což předpokládám, tak (int). Před includem bych určitě otestoval existenci daného souboru, jinak vložit 404.
KubikM
Profil
:D já nic provozovat nechci, ptal jsem se protože tu mam jediný účet a do hostingu nemohli kamarádi napsat, chtěli vědět, zda-li na něco nezapomělli. :)

404 už dávám, jinak id asi přehodím na page...
BuGeR
Profil
KubikM:
Co takhle?
<?php
if(isset($_GET["id"]) and is_numeric($_GET["id"]) and file_exists("subpages/".$_GET['id'].".php")) {
	include "subpages/".$_GET["id"].".php";
} else {
	include "subpages/home.php";
}
?>
panther
Profil
BuGeR:
Co takhle?
takhle ne, neřeší 404. Při neexistující stránce přesměrovávat na HP, to není šťastné řešení.
BuGeR
Profil
aha..
<?php
if(isset($_GET["id"]) and is_numeric($_GET["id"]) and file_exists("subpages/".$_GET['id'].".php")) {
    include "subpages/".$_GET["id"].".php";
} else if(isset($_GET["id"]) and !file_exists("subpages/".$_GET["id"].".php")) {
    include "404.html";
} else {
    include "subpages/home.php";
}
?>

a co tohle? :-)
tiso
Profil
BuGeR: precvič si trošku logiku, opakujú sa ti podmienky… Dá sa to napísať lepšie.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0