Проблема с intval($_GET['id']) - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Sun, 17 Nov 2024 19:45:47 +0300* ' ) ?<br>
Вообщем вариантов пруд пруди.
https://visavi.net/topics/3839/87384
Проблема с intval($_GET['id']) ВанекMon, 14 Dec 2009 19:48:30 +0300Сообщенияhttps://visavi.net/topics/3839/87384<pre class="prettyprint">
<?php
switch ($mod)
{
case 'page':
preg_match ("|id=([a-z0-9]+)|", $_SERVER['QUERY_STRING'], $id);
IF(Empty($id[1]))
{
Exit();
}
ELSE
{
include_once 'pages/'.$id[1].'.dat';
}
break;
}
?>
</pre>
https://visavi.net/topics/3839/87374
Проблема с intval($_GET['id']) УдаленныйMon, 14 Dec 2009 19:19:39 +0300Сообщенияhttps://visavi.net/topics/3839/87374<pre class="prettyprint">
<?
$id = file_exists( $_SERVER['DOCUMENT_ROOT'] . '/dir/' . $_GET['page'] ) . '.dat' ? $id : '1.dat';
$id = intval( $id ); //если в dir есть файлы [a-Z].dat
/*
case 'page':
include $_SERVER['DOCUMENT_ROOT'] . '/dir/' . $id;
break;
*/
?>
</pre>
https://visavi.net/topics/3839/87363
Проблема с intval($_GET['id']) ВанекMon, 14 Dec 2009 18:20:48 +0300Сообщенияhttps://visavi.net/topics/3839/87363Надежней будет оставить код из первого поста,а название файлов сделать числовым ;) <br>
Ну и немного изменить код...<br>
<?php<br>
switch ($mod) {<br>
case 'page':<br>
if(!empty($_GET['id'])) $id = intval($_GET['id']); else $id = 0;<br>
if($id != 0)<br>
include_once 'pages/'.$id.'.dat';<br>
break;}<br>
?>
https://visavi.net/topics/3839/87209
Проблема с intval($_GET['id']) СанёкMon, 14 Dec 2009 08:54:51 +0300Сообщенияhttps://visavi.net/topics/3839/87209Пример "разрешать" вот тут<br>
<pre class="prettyprint">
preg_match('|^[a-z]+$|',$_GET['var'])
</pre>
Разрешать не ВСЕ! А только то что нужно!
https://visavi.net/topics/3839/87128
Проблема с intval($_GET['id']) Б.В.Mon, 14 Dec 2009 00:07:57 +0300Сообщенияhttps://visavi.net/topics/3839/87128#19, если всё разрешать - то дефейс обеспечен ))
https://visavi.net/topics/3839/87097
Проблема с intval($_GET['id']) coca-cocaSun, 13 Dec 2009 22:54:35 +0300Сообщенияhttps://visavi.net/topics/3839/87097Гг вот залили вам шелл в виде shell.gif<br>
проку от него ни какого, а вот благодаря такой вот конструкции этот шелл становится действительно опасен если удастся его проинклудить.<br>
До кучи можно и хитаччес проинклудить если он в папке есть и любой другой левый файл, тем самым вызвать ошибку. Вобщем не позволяйте пользователя вмешиваться в сценарий это ни чего хорошего не даст. Или хотя бы проверяйте как следует.<br>
if($_GET['var']!='' AND preg_match('|^[a-z]+$|',$_GET['var']) AND file_exists('include/'.$_GET['var'].'.php')){<br>
include $_GET['var'].'.php';<br>
}<br>
что то типа этого..<br>
#18 всегда лучше не запрещать, а разрешать, всегда есть шанс упустить что либо в запрете.
https://visavi.net/topics/3839/87087
Проблема с intval($_GET['id']) ramzesSun, 13 Dec 2009 22:17:15 +0300Сообщенияhttps://visavi.net/topics/3839/87087<pre class="prettyprint">
function IS_RLFI($value)
{
if($value != "" && !is_array($value))
{
$original = $value;
if(strpos($value,'.') !== FALSE)
{
if(strpos($value,"../") !== FALSE) { return TRUE; }
if(strpos($value,"://") !== FALSE) { return TRUE; }
if(strpos($value,"http") !== FALSE ||
strpos($value,'https') !== FALSE ||
strpos($value,"ftp") !== FALSE ||
strpos($value,'www') !== FALSE) { return TRUE; }
if(file_exists($value)) { return TRUE; }
}
else
{
return FALSE;
}
}
return FALSE;
}
$id = !empty($_REQUEST['id']) && IS_RLFI($_REQUEST['id']) === TRUE ? $_REQUEST['id'] ? 'index';
</pre>
фильтр от RLFI хорошо работает, часто пользуюсь им)<br>
PS, придется модифицировать под ваши нужды конечно )
https://visavi.net/topics/3839/87054
Проблема с intval($_GET['id']) coca-cocaSun, 13 Dec 2009 21:20:34 +0300Сообщенияhttps://visavi.net/topics/3839/87054<blockquote class="blockquote"><strong>coca-coca</strong> (Сегодня / 21:01)<br>
15. <strong>xass</strong>, ага,с этим кодом он <strong>обязательно прочитает index.dat</strong> xD</blockquote>
<img src="https://visavi.net/uploads/stickers/D.gif" alt="D"> наверно не так понял что он хочет ...
https://visavi.net/topics/3839/87043
Проблема с intval($_GET['id']) xassSun, 13 Dec 2009 21:02:39 +0300Сообщенияhttps://visavi.net/topics/3839/8704315. <strong>xass</strong>, ага,с этим кодом он <strong>обязательно прочитает index.dat</strong> xD
https://visavi.net/topics/3839/87041
Проблема с intval($_GET['id']) coca-cocaSun, 13 Dec 2009 21:01:03 +0300Сообщенияhttps://visavi.net/topics/3839/87041<pre class="prettyprint">$id = isset ( $_GET['id'] ) ? (int) $_GET['id'] : NULL;</pre>
?
https://visavi.net/topics/3839/87039
Проблема с intval($_GET['id']) xassSun, 13 Dec 2009 20:58:47 +0300Сообщенияhttps://visavi.net/topics/3839/8703913. <strong>sanzstez</strong>, а и я не говорю что это плохая затея, я лиш намекаю на недостаточную фильтрацию
https://visavi.net/topics/3839/87033
Проблема с intval($_GET['id']) LugaroSun, 13 Dec 2009 20:43:23 +0300Сообщенияhttps://visavi.net/topics/3839/8703310, ну это уже его ошибка. я знаю что инклудить то что передается гетом плохая затея
https://visavi.net/topics/3839/87030
Проблема с intval($_GET['id']) СаняSun, 13 Dec 2009 20:25:29 +0300Сообщенияhttps://visavi.net/topics/3839/87030Сколько помню учебников хороших и плохих в каждом жирными буквами всегда написано <strong>не используйте конструкции типа include $_GET['var']; </strong><br>
Без #11 поста это дыра)).
https://visavi.net/topics/3839/87006
Проблема с intval($_GET['id']) ramzesSun, 13 Dec 2009 18:22:58 +0300Сообщенияhttps://visavi.net/topics/3839/87006Ну например <br>
if(preg_match('#[^a-z]#', $_GET['id'])) {ПНХ}<br>
если уж на то пошло
https://visavi.net/topics/3839/86997
Проблема с intval($_GET['id']) NeformatSun, 13 Dec 2009 18:02:30 +0300Сообщенияhttps://visavi.net/topics/3839/86997