Може ли да бъде манипулиран този код?

nom3r1

Registered
Може ли да бъде манипулиран този код , според вас?

PHP:
if (!isset($_GET['id'])){
	$id = '';
} else{
	$id = clean($_GET['id']);
}

чудя се само заради ~> isset($_GET['id'])

А, ако оставя кода само ~> (int)$_GET['id']; вади грешка, ако отваря страницата така: file.php,

Notice: Undefined index: id in /home/nom3r1_root/public_html/file.php on line 45

но ако е file.php?ID= ник'ви ядове.
 
Включил си E_STRICT, можеш да махнеш грешката, като сложиш некъв лимит на error_reporting най-просто или го преправиме.

Опитай така:

$id = (isset($_GET['id'])) ? (integer) $_GET['id'] : 0;
$id = (!! $id !== false) ? $id : 0;

Ако не е int, връша 0. (Сложи си където ти трябва и функцията clean).

Попринцип за манипулирането, ако сложиш и asd.php?id само без =.. ще го отчете за isset, но това не е проблем, като си го провериш още 1 път.
 
С други думи, горното кодче, което аз дадох пак ще ми свърши работа.
 

Back
Горе