<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> </head> <body> <?php include $page; ?> <?php include "nyz.php"; ?> </body></html>
Warning: include() [function.include]: Filename cannot be empty in /var/www/localhost/htdocs/mysite2/index.php on line 9Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/share/php5:/usr/share/php') in /var/www/localhost/htdocs/mysite2/index.php on line 9
<html> <head> <title> <?php include "nazvablogu.php"; ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> </head> <body> <?php if (!empty($_GET["page"])) { include "".$_GET["page"].""; } else { include "golovna.php"; } ?> </body></html>
<?php if (!empty($_GET["page"])) { include "".$_GET["page"].""; } else { include "golovna.php"; } ?>
Магічні змінні (нарешті) визнано диркою в безпеці, і вони заборонені.
<?php include $page; ?>
<?php if (!empty($_GET['page'])) { include $_GET['page']; } else { include "golovna.php"; } ?>
Зробив таке:....І воно працює нормально. Але, хочу спитати, оцей шматочок коду:Код: [Вибрати]<?php if (!empty($_GET["page"])) { include "".$_GET["page"].""; } else { include "golovna.php"; } ?>Якось можна покращити?
http://localhost/mysite2/index.php?page=../../../../../../../etc/passwd
в перших двох випадках вам запхають нефігову таку тулзу (раджу нагуглити її і ознайомитись, дуже цікаво, свого роду швейцарський ніж для веб-адміна), в останньому випадку - вас попросять показати весь вміст вашого локального /etc/passwd ( або будь-чого іншого).Погляньте сюди - http://www.shram.kiev.ua/hacker/phpincludesafe.shtml , тут в двох словах написано чим це загрожує, і як від цього захищатись, решту по темі накопаєте самі. Взагалі це одна з "десяти найбільш розповсюдженіших помилок" при написанні коду на ПХП, спробуйте нагуглити решту 9 - дуже добре і цікаво читається й зекономите собі багато часу і нервів.
ААА !!!
<?php if (is_numeric($_GET['page'])) { $var = substr($_GET['page'],0,128); $_GET['page'] = ($_GET['page'].".php"); if (file_exists($_GET['page'])) { $zmist = $_GET['page']; $file_array = file($_GET['page']); $nazvastorinky = $file_array[0]; } else { $nazvastorinky = "404"; $zmistdef = "Сторінку не знайдено."; } } else { if (empty($_GET['page'])) { $nazvastorinky = "Головна"; $zmistgol = "golovna.php"; } else { $nazvastorinky = "404"; $zmistdef = "Ви помилились адресою"; } }?><html> <head> <title> <?php include "nazvasaitu.php"; echo " — "; echo $nazvastorinky; ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> </head> <body> <?php if (empty($zmist)) { if (empty($zmistgol)) { echo $zmistdef; } else { include $zmistgol; } } else { { $num_str = count($file_array); for($a = 1; $a < $num_str; $a++) { echo $file_array[$a]; } } } include "nyz.php"; ?>
Я можу помилятись, але він хоч працює? O_O
<?phpif (empty($_GET['stor'])){ $stor = "1.php";}else{ if (is_numeric($_GET['stor'])) { $stor = ($_GET['stor'].".php"); if (!file_exists($stor)) { $stor = "404.php"; } } else { $stor = "404.php"; }}$tempfile = ("tmp/".$stor);if (file_exists($tempfile)){ unlink($tempfile);}$file_array = file($stor);$numstr = count($file_array);if (2 > $numstr) { $file_array = file("nedoroblena.php"); $bulo = fopen($tempfile,"a"); $dobtext = $file_array[1]; fwrite($bulo,$dobtext); $file_array = file($stor); } else { for($a = 1; $a < $numstr; $a++) { $bulo = fopen($tempfile,"a"); $dobtext = $file_array[$a]; fwrite($bulo,$dobtext); } }$zago = $file_array[0];?><html> <head> <title> <?php echo $zago; ?> </title> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> </head> <body> <?php include $tempfile; unlink($tempfile); ?> </body></html>