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

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


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

Приветствую. Иметься небольшая проблема с 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 ?

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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