Проблема с intval($_GET['id']) - Visavi.net https://visavi.net/ RSS - Visavi.net https://visavi.net/assets/img/images/logo_small.png RSS - Visavi.net https://visavi.net/ [email protected] (admin) [email protected] (admin) Sun, 17 Nov 2024 19:45:47 +0300 * &#039; ) ?<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"> &lt;?php switch ($mod) { case &#039;page&#039;&#58; preg_match (&quot;|id=(&#91;a-z0-9]+)|&quot;, $_SERVER&#91;&#039;QUERY_STRING&#039;], $id); IF(Empty($id&#91;1])) { Exit(); } ELSE { include_once &#039;pages/&#039;.$id&#91;1].&#039;.dat&#039;; } break; } ?&gt; </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"> &lt;? $id = file_exists( $_SERVER&#91;&#039;DOCUMENT_ROOT&#039;] . &#039;/dir/&#039; . $_GET&#91;&#039;page&#039;] ) . &#039;.dat&#039; ? $id &#58; &#039;1.dat&#039;; $id = intval( $id ); //если в dir есть файлы &#91;a-Z].dat /* case &#039;page&#039;&#58; include $_SERVER&#91;&#039;DOCUMENT_ROOT&#039;] . &#039;/dir/&#039; . $id; break; */ ?&gt; </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> &lt;?php<br> switch ($mod) {<br> case &#039;page&#039;:<br> if(!empty($_GET[&#039;id&#039;])) $id = intval($_GET[&#039;id&#039;]); else $id = 0;<br> if($id != 0)<br> include_once &#039;pages/&#039;.$id.&#039;.dat&#039;;<br> break;}<br> ?&gt; https://visavi.net/topics/3839/87209 Проблема с intval($_GET['id']) Санёк Mon, 14 Dec 2009 08:54:51 +0300 Сообщения https://visavi.net/topics/3839/87209 Пример &quot;разрешать&quot; вот тут<br> <pre class="prettyprint"> preg_match(&#039;|^&#91;a-z]+$|&#039;,$_GET&#91;&#039;var&#039;]) </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-coca Sun, 13 Dec 2009 22:54:35 +0300 Сообщения https://visavi.net/topics/3839/87097 Гг вот залили вам шелл в виде shell.gif<br> проку от него ни какого, а вот благодаря такой вот конструкции этот шелл становится действительно опасен если удастся его проинклудить.<br> До кучи можно и хитаччес проинклудить если он в папке есть и любой другой левый файл, тем самым вызвать ошибку. Вобщем не позволяйте пользователя вмешиваться в сценарий это ни чего хорошего не даст. Или хотя бы проверяйте как следует.<br> if($_GET[&#039;var&#039;]!=&#039;&#039; AND preg_match(&#039;|^[a-z]+$|&#039;,$_GET[&#039;var&#039;]) AND file_exists(&#039;include/&#039;.$_GET[&#039;var&#039;].&#039;.php&#039;)){<br> include $_GET[&#039;var&#039;].&#039;.php&#039;;<br> }<br> что то типа этого..<br> #18 всегда лучше не запрещать, а разрешать, всегда есть шанс упустить что либо в запрете. https://visavi.net/topics/3839/87087 Проблема с intval($_GET['id']) ramzes Sun, 13 Dec 2009 22:17:15 +0300 Сообщения https://visavi.net/topics/3839/87087 <pre class="prettyprint"> function IS_RLFI($value) { if($value != &quot;&quot; &amp;&amp; !is_array($value)) { $original = $value; if(strpos($value,&#039;.&#039;) !== FALSE) { if(strpos($value,&quot;../&quot;) !== FALSE) { return TRUE; } if(strpos($value,&quot;&#58;//&quot;) !== FALSE) { return TRUE; } if(strpos($value,&quot;http&quot;) !== FALSE || strpos($value,&#039;https&#039;) !== FALSE || strpos($value,&quot;ftp&quot;) !== FALSE || strpos($value,&#039;www&#039;) !== FALSE) { return TRUE; } if(file_exists($value)) { return TRUE; } } else { return FALSE; } } return FALSE; } $id = !empty($_REQUEST&#91;&#039;id&#039;]) &amp;&amp; IS_RLFI($_REQUEST&#91;&#039;id&#039;]) === TRUE ? $_REQUEST&#91;&#039;id&#039;] ? &#039;index&#039;; </pre> фильтр от RLFI хорошо работает, часто пользуюсь им)<br> PS, придется модифицировать под ваши нужды конечно ) https://visavi.net/topics/3839/87054 Проблема с intval($_GET['id']) coca-coca Sun, 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']) xass Sun, 13 Dec 2009 21:02:39 +0300 Сообщения https://visavi.net/topics/3839/87043 15. <strong>xass</strong>, ага,с этим кодом он <strong>обязательно прочитает index.dat</strong> xD https://visavi.net/topics/3839/87041 Проблема с intval($_GET['id']) coca-coca Sun, 13 Dec 2009 21:01:03 +0300 Сообщения https://visavi.net/topics/3839/87041 <pre class="prettyprint">$id = isset ( $_GET&#91;&#039;id&#039;] ) ? (int) $_GET&#91;&#039;id&#039;] &#58; NULL;</pre> ? https://visavi.net/topics/3839/87039 Проблема с intval($_GET['id']) xass Sun, 13 Dec 2009 20:58:47 +0300 Сообщения https://visavi.net/topics/3839/87039 13. <strong>sanzstez</strong>, а и я не говорю что это плохая затея, я лиш намекаю на недостаточную фильтрацию https://visavi.net/topics/3839/87033 Проблема с intval($_GET['id']) Lugaro Sun, 13 Dec 2009 20:43:23 +0300 Сообщения https://visavi.net/topics/3839/87033 10, ну это уже его ошибка. я знаю что инклудить то что передается гетом плохая затея 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[&#039;var&#039;]; </strong><br> Без #11 поста это дыра)). https://visavi.net/topics/3839/87006 Проблема с intval($_GET['id']) ramzes Sun, 13 Dec 2009 18:22:58 +0300 Сообщения https://visavi.net/topics/3839/87006 Ну например <br> if(preg_match(&#039;#[^a-z]#&#039;, $_GET[&#039;id&#039;])) {ПНХ}<br> если уж на то пошло https://visavi.net/topics/3839/86997 Проблема с intval($_GET['id']) Neformat Sun, 13 Dec 2009 18:02:30 +0300 Сообщения https://visavi.net/topics/3839/86997