Вернуться   Форум SAPE.RU > Практика оптимизации > Google, MSN, Yahoo

-->
Ответ
 
Опции темы
Старый 08.05.2008, 06:31   #21
Новичок
 
Регистрация: 03.03.2008
Сообщений: 59
Вес репутации: 198
alexcom98 на пути к лучшему
По умолчанию

ну впринцепе понел куда смотреть...
alexcom98 вне форума   Ответить с цитированием
Старый 09.05.2008, 01:09   #22
Новичок
 
Регистрация: 24.07.2007
Сообщений: 98
Вес репутации: 205
Privodchik на пути к лучшему
По умолчанию

Цитата:
Сообщение от Destroy Посмотреть сообщение
PHP код:
$q=$_SERVER["QUERY_STRING"];
if (
strlen($q)>5)
$s=array("a"=>0,"b"=>1,"c"=>2,"d"=>-1);
  
$a=explode('&',$q); $i=0$maxp=3;
  while(isset(
$a[$i]))
  { 
$b=explode('=',$a[$i]);
    if ((!isset(
$s[$b[0]]))||(($s[$b[0]]!=$i)&&($s[$b[0]]>-1))||($i>=$maxp))
    { 
Header("Location: index.php");
      exit;
    };
    
$i++;
  };
}; 
Ток попробуйте спасибо не сказать
Файл, то вроде везде один, но вот дальше не совсем понял, можете привести структуру, например подойдет ли для сцылки вида:
домен/index.php?name1=Voting&op=poll_result&poll_id=1&pa genum=2
__________________
PR3 ТИЦ70 DMOZ Более 1000 уников, по ссылкам кликают! ID 41051 Промышленность, электроника, производство, автоматизация (цены 4-70 (на любой вкус), титл 270,ЯndeКС с сайта не вылазит)
Privodchik вне форума   Ответить с цитированием
Старый 10.05.2008, 10:56   #23
Специалист
 
Аватар для Destroy
 
Регистрация: 27.03.2008
Адрес: East-Timor
Сообщений: 266
Вес репутации: 203
Destroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от Privodchik Посмотреть сообщение
Файл, то вроде везде один, но вот дальше не совсем понял, можете привести структуру, например подойдет ли для сцылки вида:
домен/index.php?name1=Voting&op=poll_result&poll_id=1&pa genum=2
PHP код:
$q=$_SERVER["QUERY_STRING"]; 
if (
strlen($q)>5
$s=array("name1"=>0,"op"=>1,"poll_id"=>2,"pagenum"=>3); 
  
$a=explode('&',$q); $i=0$maxp=4
  while(isset(
$a[$i])) 
  { 
$b=explode('=',$a[$i]); 
    if ((!isset(
$s[$b[0]]))||(($s[$b[0]]!=$i)&&($s[$b[0]]>-1))||($i>=$maxp)) 
    { 
Header("Location: index.php"); 
      exit; 
    }; 
    
$i++; 
  }; 
}; 
Для других структур продолжаем массив...
Destroy вне форума   Ответить с цитированием
Старый 10.05.2008, 12:54   #24
Сам себе раб
 
Аватар для NCom
 
Регистрация: 09.10.2007
Адрес: Геленджик
Сообщений: 2,493
Вес репутации: 321
NCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущееNCom - прекрасное будущее
По умолчанию

у меня все ок. ссылки на внутряках висят и только в +2, +3
__________________
Последний год нравится в этой тизерке, а сервер арендую здесь и не жалуюсь.
NCom вне форума   Ответить с цитированием
Старый 10.05.2008, 15:50   #25
Новичок
 
Регистрация: 24.07.2007
Сообщений: 98
Вес репутации: 205
Privodchik на пути к лучшему
По умолчанию

Цитата:
Сообщение от Destroy Посмотреть сообщение
PHP код:
$q=$_SERVER["QUERY_STRING"]; 
if (
strlen($q)>5
$s=array("name1"=>0,"op"=>1,"poll_id"=>2,"pagenum"=>3); 
  
$a=explode('&',$q); $i=0$maxp=4
  while(isset(
$a[$i])) 
  { 
$b=explode('=',$a[$i]); 
    if ((!isset(
$s[$b[0]]))||(($s[$b[0]]!=$i)&&($s[$b[0]]>-1))||($i>=$maxp)) 
    { 
Header("Location: index.php"); 
      exit; 
    }; 
    
$i++; 
  }; 
}; 
Для других структур продолжаем массив...

Да, но структуры могут быть разные, например в одном модуле отличаться:
Цитата:
домен/index.php?name1=Voting&op=poll_result&poll_id=1&pa genum=2
и
Цитата:
домен/index.php?name1=Voting&op=poll_result&poll_id=1
Что делать?
__________________
PR3 ТИЦ70 DMOZ Более 1000 уников, по ссылкам кликают! ID 41051 Промышленность, электроника, производство, автоматизация (цены 4-70 (на любой вкус), титл 270,ЯndeКС с сайта не вылазит)
Privodchik вне форума   Ответить с цитированием
Старый 11.05.2008, 02:13   #26
Специалист
 
Регистрация: 29.10.2007
Сообщений: 111
Вес репутации: 203
PavelP скоро станет известен
По умолчанию

Я у себя сделал примерно так. Это Mason, но принцип общий в любой среде. Сайт большой, ушло примерно 35 минут на исправление всех типов страниц.

Код:
####################### Next block redirect to main 
#page if URL contain not allowed args 
my $allowed_args=",s,expire,words,page,d,h,mid,not_mid,ext_sec,mode,toplist_id, top100-id"; 
   foreach my $key (keys %ARGS){ 
        if ($allowed_args !~ /\,$key\,/) { 
            $m->clear_buffer; 
            # Следующие две строки предотвращают Apache от повторного чтения PO 
            $r->method('GET'); 
            $r->headers_in->unset('Content-length'); 
            $r->content_type('text/html'); 
            $r->header_out('Location' => build_link("build://$DISCOVERY_FRONTEND")';
            $m->abort(301); 
        } 
  } 
############################
__________________
http://geo.web.ru/ PR6, ТиЦ 3900, URL открыт. Зачем искать лучше?
PavelP вне форума   Ответить с цитированием
Старый 12.05.2008, 06:34   #27
Специалист
 
Аватар для Destroy
 
Регистрация: 27.03.2008
Адрес: East-Timor
Сообщений: 266
Вес репутации: 203
Destroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от Privodchik Посмотреть сообщение
Да, но структуры могут быть разные, например в одном модуле отличаться:
Что делать?
PHP код:
$s=array("name1"=>0,"op"=>1,"poll_id"=>2,"pagenum"=>3); 
Расшифоровываю, если не понятно (хотя там же все как на лодошке не понять невозможно)

"name1" - у нас может стоять только на первом мете - потому оно равно 0
с "op" и "poll_id аналогично, но места уже 2е и 3е (ну цифры пишем на 1 меньше просто если не понятно)
Если какие-то из приведенных переменных могут появится на других местах то пишем им -1 в значение.
Если переменная не описана или стоит не на своем месте или их больше чем $maxp, то редирект на главную (ну там че угодно можно нарисовать, хоть гуглу с яндексом приветы написать)
Если существует еще одна структура, например:
Цитата:
домен/index.php?name2=Voting&op2=poll_result&poll_id2=1
то просто дописываем в конец архива:
PHP код:
$s=array("name1"=>0,"op"=>1,"poll_id"=>2,"pagenum"=>3,"name2"=>0,"op2"=>1,"poll_id2"=>2); 
Если позиции переменных ваще хз какие, то тупо их все переписываем и присваеваем -1, но тогда от перемены мест страница открываться будет, и ссылки просекутся продажные. Хотя хз каким методом их проверяют и проверяют ли, но если бы я проверял, то так по-любому я бы проверил. В сучае одной переменной - пофиг...
Ну что тут добавить - судя по структуре располажения в данном примере, "poll_id" и "pagenum" скорее всего плавающие... Да и ваще не понимаю создателей слаеда, нафиг они эти "op" навводили
Если нет других переменных, то я бы описал так (в общем чтоб в большинстве случае пахало):
PHP код:
$s=array("name1"=>0,"op"=>1,"poll_id"=>-1,"pagenum"=>-1); 
Destroy вне форума   Ответить с цитированием
Старый 12.05.2008, 06:36   #28
Специалист
 
Аватар для Destroy
 
Регистрация: 27.03.2008
Адрес: East-Timor
Сообщений: 266
Вес репутации: 203
Destroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личность
По умолчанию

[QUOTE=PavelP]Я у себя сделал примерно так. Это Mason, но принцип общий в любой среде. Сайт большой, ушло примерно 35 минут на исправление всех типов страниц.
[QUOTE]
А если поменять 2 переменные местами?
Destroy вне форума   Ответить с цитированием
Старый 12.05.2008, 06:38   #29
Специалист
 
Аватар для Destroy
 
Регистрация: 27.03.2008
Адрес: East-Timor
Сообщений: 266
Вес репутации: 203
Destroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личностьDestroy - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PavelP Посмотреть сообщение
Я у себя сделал примерно так. Это Mason, но принцип общий в любой среде. Сайт большой, ушло примерно 35 минут на исправление всех типов страниц.
А если поменять 2 переменные местами, то зря были потрачены 35 минут?

ЗЫ ну что за тупые настройки форма, ну хоть бы 10 мин дали...
Destroy вне форума   Ответить с цитированием
Старый 20.05.2008, 02:05   #30
Специалист
 
Аватар для pma87
 
Регистрация: 12.05.2008
Адрес: Адрес: Адрес:
Сообщений: 119
Вес репутации: 200
pma87 - как роза среди колючекpma87 - как роза среди колючекpma87 - как роза среди колючекpma87 - как роза среди колючек
По умолчанию

А если ссылки вида:
content.php?list.4
content.php?author.list.4
forum_viewforum.php?4
где 4 является параметром. Проблема в том что нет знака "=". От такого можно защитится?
pma87 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнулился ПР kiskis Google, MSN, Yahoo 24 19.08.2008 16:25
Обнулился ПР на главной TracKer Ошибки при работе с системой 5 17.05.2008 02:41
Обнулился ТИЦ (не ЯК) onleader Ошибки при работе с системой 3 20.03.2008 13:21
Обнулился PR deep-purple Ошибки при работе с системой 0 18.03.2008 13:14


Часовой пояс GMT +3, время: 15:07.