Забыли пароль?
Запросите новый здесь.

Автор темы: GORDON
ID темы: 1954
Информация:
Тема содержит 5 сообщения, была просмотрена 2854 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Безопасность
 Распечатать тему
Сайт ругается на Prevent any possible XSS attacks
GORDON
Скачать исходники  Код
// Prevent any possible XSS attacks via $_GET.
foreach ($_GET as $check_url) {
   if (!is_array($check_url)) {
      $check_url = str_replace("\"", "", $check_url);
      if ((eregi("<[^>]*script*\"?[^>]*>", $check_url)) || (eregi("<[^>]*object*\"?[^>]*>", $check_url)) ||
         (eregi("<[^>]*iframe*\"?[^>]*>", $check_url)) || (eregi("<[^>]*applet*\"?[^>]*>", $check_url)) ||
         (eregi("<[^>]*meta*\"?[^>]*>", $check_url)) || (eregi("<[^>]*style*\"?[^>]*>", $check_url)) ||
         (eregi("<[^>]*form*\"?[^>]*>", $check_url)) || (eregi("\([^>]*\"?[^)]*\)", $check_url)) ||
         (eregi("\"", $check_url))) {
      die ();
      }
   }
}
unset($check_url);




с недавних пор, сайт стал ругаться вот на этот код в maincore, версия движка 7.00.05, ничего не трогали и не меняли. пока удалил данный блок, ошибки исчезли, но т.к. он специально стоит в коде от атак, то скорее всего он нужен все равно, куда копать?
 
Rush
С версии PHP 5.3.0 функция eregi считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.

И ошибка скорее всего типа notice или strict error
 
Web
Polarfox
Обновить желательно.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Pisatel
Обновиться, либо eregi заменить нa preg_match
Загрузить источник  GeSHi: PHP
  1. // Prevent any possible XSS attacks via $_GET.
  2.  
  3. foreach ($_GET as $check_url) {
  4.  
  5. if (!is_array($check_url)) {
  6.  
  7. $check_url = str_replace("\"", "", $check_url);
  8.  
  9. if ((preg_match("/<[^>]*script*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*object*\"?[^>]*>/i", $check_url)) ||
  10.  
  11. (preg_match("/<[^>]*iframe*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*applet*\"?[^>]*>/i", $check_url)) ||
  12.  
  13. (preg_match("/<[^>]*meta*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*style*\"?[^>]*>/i", $check_url)) ||
  14.  
  15. (preg_match("/<[^>]*form*\"?[^>]*>/i", $check_url)) || (preg_match("/\([^>]*\"?[^)]*\)/i", $check_url)) ||
  16.  
  17. (preg_match("/\""/i, $check_url))) {
  18.  
  19. die ();
  20.  
  21. }
  22.  
  23. }
  24.  
  25. }
  26.  
  27. unset($check_url);
Добавлено за 0.072 секунд, используя GeSHi 1.0.8.10
 
Web
GORDON
неа замена
либо eregi заменить нa preg_match
не помогло.
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Alex Alex (1,246)   Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)