Чтение RSS каналов

Форум

Открыть Ответить

При переходе по ссылке пользователь попадает на страницу "Запрещенное действие"

5

5
1
07.01.2012 12:45:57
Добрый день.

Подскажите с чем связана проблема, что при переходе по ссылке с твитера и с почтовых рассылок пользователи и боты попадают на страницу "Запрещенное действие!" с которой их перекидывает на /index.php ?

Нашел на форуме похожую тему, но решение проблемы там нет...

Ссылки с которых перекидывает:
http://www.site-name.ru/index.php?name=news&op=view&id=625&utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed%3A+site-name+%28%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5+%D0%BC%D0%B8%D0%BD%D0%B8+%D0%B8%D0%B3%D1%80%D1%8B+%D0%BD%D0%B0+site-name.ru%29


После этого приходит письмо:
Запрещенное действие: HTML in GET - utm_campaign = Feed: Site-name (Новые статьи на Site-name.ru)
IP Адрес: 78.137.7.87
Пользователь: Гость
Ссылка: /index.php?name=news&op=view&id=625&utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+Site-name+%28%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5+%D0%BC%D0%B8%D0%BD%D0%B8+%D0%B8%D0%B3%D1%80%D1%8B+%D0%BD%D0%B0+Site-name.ru%29
Браузер: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7
Дата размещения: 07.01.12 - 15:02:30


Подскажите, что можно сделать, что б пользователь попадал на нужную страницу?


Версия системы: Open SLAED 1.*
Версия PHP: PHP 5
Сервер: Сервер в интернете
5

5
2
07.01.2012 13:50:23
В настройках безопасности установите значение "Нет" для "Запретить принимать ссылки через GET?".

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
3
07.01.2012 14:11:4407.01.2012 14:17:13
Пробовал менять настройки и "Запретить передачу ссылок через GET?" тоже, результат тот же самый.

Вообще не пойму что это такое, во всех браузерах ошибку выдает, в firefox открывает нужную страницу, но бывает что тоже "Запрещенное действие!"
5

5
4
07.01.2012 14:21:5407.01.2012 14:23:57
Как вариант, откройте файл: function/security.php
Закомментируйете участок в строке 225 таким образом:

/* if (preg_match("#<.*?(script|body|object|iframe|applet|meta|style|form|img|onmouseover).*?>#i", urldecode($var_value)) || preg_match("#\([^>]*\"?[^)]*\)#", $var_value)) warn_report("HTML in GET - ".$var_name." = ". $var_value.""); */


Но учитываете что данное действие снижает уровень безопасности системы.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
5
07.01.2012 15:24:5207.01.2012 15:32:21
Закомментировал, все работает как надо. Но безопасность смущает, может получится найти вариант более безопасный?
5

5
6
07.01.2012 15:44:45
Рекомендую в качестве повышения безопасности

В файле: function/security.php
Перед участком:
foreach ($_GET as $var_name=>$var_value) {


Добавить новую функцию защиты:

function input_parse($value) {
		if (is_array($value)) {
			$value = array_map("input_parse", $value);
		} elseif (!empty($value) && is_string($value)) {
			$in = array("#javascript:#si", "#vbscript:#si", "#script:#si", "#about:#si", "#applet:#si", "#activex:#si", "#chrome:#si");
			$out = array("Java Script", "VB Script", "Script", "About", "Applet", "ActiveX", "Chrome");
			$value = preg_replace($in, $out, $value);
		}
		return $value;
	}
	$_POST = input_parse($_POST);


Именно к переменной $_GET данная функция не имеет никакого отношения, но уровень безопасности вашего сайта значительно повысит.

Данная рекомендация относится ко всем пользователям Open SLAED версии 1.2 и ниже.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь