Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработка запроса?
 
 автор: Specter   (09.12.2006 в 14:05)   письмо автору
 
 

Как сделать так чтобы если в url набрали такой адрес>> mysite.com/load/?path=../любые_символы. Или
Mysite.com/load/?path=/любые_символы.
то скрипт вывел текст "Пошел на х.."? :))

   
 
 автор: aexb   (09.12.2006 в 14:22)   письмо автору
 
   для: Specter   (09.12.2006 в 14:05)
 


<?
if (isset($_GET['path'])) {
  echo 
"go f*ck yourself!";
}
?>

   
 
 автор: Unkind   (09.12.2006 в 14:24)   письмо автору
 
   для: Specter   (09.12.2006 в 14:05)
 

Можно так:


<?php
$path 
= (string) $_GET['path'];
//Беклеш для Windows
if(strpos($path"/") !== false || strpos($path"\\") !== false) die("Not access!");
?>

   
 
 автор: Alph[p]a   (09.12.2006 в 14:24)   письмо автору
 
   для: Specter   (09.12.2006 в 14:05)
 

Можно фильтровать $_GET['path'] с помощью рег.выражений или поверять если файл находиться в указанной директории то открываем его..иначе Пошел на х..

   
 
 автор: aexb   (09.12.2006 в 14:33)   письмо автору
 
   для: Alph[p]a   (09.12.2006 в 14:24)
 

А еще лучше вообще избегать использования в GET прямых ссылок на файлы. Чтоб у хацкеров меньше соблазнов было.

   
 
 автор: Specter   (09.12.2006 в 16:04)   письмо автору
 
   для: aexb   (09.12.2006 в 14:33)
 

Напишите как с помощью рег.Выражении это сделать?
Очень прошу.

   
 
 автор: cheops   (09.12.2006 в 21:56)   письмо автору
 
   для: Specter   (09.12.2006 в 14:05)
 

Не понятно, какие формы запроса допустимы? Т.е. что должно остаться разрешённым?

   
 
 автор: Specter   (09.12.2006 в 23:26)   письмо автору
 
   для: cheops   (09.12.2006 в 21:56)
 

>Не понятно, какие формы запроса допустимы? Т.е. что должно остаться разрешённым?
url должны быть такими.
mysite.com?path=3gp
mysite.com?path=video
mysite.com?path=music
mysite.com?path=images
mysite.com?path=animation
mysite.com?path=erotica

   
 
 автор: Alph[p]a   (10.12.2006 в 00:00)   письмо автору
 
   для: Specter   (09.12.2006 в 23:26)
 


switch ($_GET['path'])
{
case (3gp):
include_once("Module/3gp.php");
break;

case (video):
include_once("Module/video.php");
break;
//И в таком духе перечисли нужные разделы
default:
include_once("Module/default.php");    
}                

   
 
 автор: cheops   (10.12.2006 в 00:41)   письмо автору
 
   для: Specter   (09.12.2006 в 23:26)
 

Можно также воспользоваться регулярным выражением вида
<?php
  
if(!preg_match("|^[a-z0-9]*$|i"$_GET['path'])) exit("Не допустимый формат запроса");
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования