Перейти к контенту

Остановить запрос


Рекомендуемые сообщения

Приветствую. Иметься небольшая проблема с php программированием.

 

Дело в том, что я хочу сделать так, что если в Url адресе встречается запрещённое слово, то выдается ошибка.

 

Например, при переходе на адрес вида: index.php?catalog=1&code=slovo всё будет открываться.

А если кто-то переедет по адресу index.php?catalog=1&code=slovo1 то ему выдастся ошибка, и скрипт не выполниться дальше.

 

Вот я написал код:

 

$slova = array("slovo1","slovo2",);

if ($_REQUEST == $slova)
{
print "Доступ в закрытый раздел невозможен";
exit();
}

 

Но он не работает. Его суть – если в запросе встречаются слова: slovo1 или slovo2 то выполнение скрипта прекращается, и выдается ошибка.

 

Я новичок в программировании, поэтому наверно что-то не доделал.

 

Кто-нибудь может помочь, и сделать, чтобы он заработал, как надо?

Ссылка на комментарий
Поделиться на других сайтах

Ну как нибудь так.

$slova = array('word1', 'word2');
foreach($slova as $slovo)
{
	if(strpos($_SERVER['REQUEST_URI'], $slovo))
	{
			die('Доступ в закрытый раздел невозможен');
	}
}

Только этот код фильтрует весь запрос, включая папки и т.д.

Если тебе надо фильтровать только значение передаваемое в code, то код будет немного другой.

Ссылка на комментарий
Поделиться на других сайтах

$slova = array('word1', 'word2');

foreach($slova as $slovo)

{

if( strpos($_SERVER['REQUEST_URI'], $slovo) !== false )

{

die('Доступ в закрытый раздел невозможен');

}

}

 

Конечно понятно, что в начале адреса скорее всего будет http://www. и т.д., но вдруг это должно быть "запретным" словом.

Ссылка на комментарий
Поделиться на других сайтах

Дык если запрещаемое слово находится только в параметре code то зачем strpos?

 

Вот так не катит что ли:

 if ( $_GET['code'] == 'слово' )
{
die('Доступ в закрытый раздел невозможен');
}

Ссылка на комментарий
Поделиться на других сайтах

$slova = array('word1', 'word2');

foreach($slova as $slovo)

{

if( strpos($_SERVER['REQUEST_URI'], $slovo) !== false )

{

die('Доступ в закрытый раздел невозможен');

}

}

 

Конечно понятно, что в начале адреса скорее всего будет http://www. и т.д., но вдруг это должно быть "запретным" словом.

Если я правильно помню, то в REQUEST_URI не попадает домен. То есть например при запросе http://site.ru/forum/index.php в REQUEST_URI будет тольк о /forum/index.php

 

 

Дык если запрещаемое слово находится только в параметре code то зачем strpos?

 

Вот так не катит что ли:

 if ( $_GET['code'] == 'слово' )
{
die('Доступ в закрытый раздел невозможен');
}

Ему вроду не только в code надо фильтровать..

Дело в том, что я хочу сделать так, что если в Url адресе встречается запрещённое слово, то выдается ошибка.
Ссылка на комментарий
Поделиться на других сайтах

По крайней мере приводит пример он именно так:

Например, при переходе на адрес вида: index.php?catalog=1&code=slovo всё будет открываться.

А если кто-то переедет по адресу index.php?catalog=1&code=slovo1 то ему выдастся ошибка, и скрипт не выполниться дальше.

Слово указано после code в обоих случаях.

Ссылка на комментарий
Поделиться на других сайтах

Если я правильно помню, то в REQUEST_URI не попадает домен. То есть например при запросе http://site.ru/forum/index.php в REQUEST_URI будет тольк о /forum/index.php

Тогда тем более по моему варианту, вдруг у него запретное слово скажем /f ?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.