BG Development


  Reply to this topicStart new topicStart Poll

> Изкачащ текст, Смених хоста на сайта и ми излиза текст?
canon1d1v
Публикувано на: 19-10-2018, 07:33
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 23.10.09



Здравейте!

Незнам дали е правилния форум , но не намерих подходящо място за темата.

Смених хоста на сайта и сега ми излиза това съобщение:

user posted image

Ето го и като текст и код:

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 35

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 35

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 36

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 36

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 37

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 37

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 38

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 38

Deprecated: Function eregi() is deprecated in /home/siriusdc/public_html/greencard.photony-bg.com/maincore.php on line 39

HTML
// 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);


Някакви идеи, как да се оправи???

Това мнение е било редактирано от canon1d1v на 19-10-2018, 07:35
PMEmail Poster
Top
kierenski
Публикувано на: 19-10-2018, 09:48
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 291
Регистриран на: 10.01.16



То си пише
QUOTE
Function eregi() is deprecated


Вместо "eregi" ползвай алтернативата "preg_match".
PMEmail Poster
Top
canon1d1v
Публикувано на: 19-10-2018, 13:05
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 23.10.09



Направих го така:
HTML
// Prevent any possible XSS attacks via $_GET.
foreach ($_GET as $check_url) {
      if (!is_array($check_url)) {
            $check_url = str_replace("\"", "", $check_url);
            if ((preg_match("/<[^>]*script*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*object*\"?[^>]*>/i", $check_url)) ||
                  (preg_match("/<[^>]*iframe*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*applet*\"?[^>]*>/i", $check_url)) ||
                  (preg_match("/<[^>]*meta*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*style*\"?[^>]*>/i", $check_url)) ||
                  (preg_match("/<[^>]*form*\"?[^>]*>/i", $check_url)) || (preg_match("\([^>]*\"?[^)]*\)", $check_url)) ||
                  (preg_match("\"", $check_url))) {
            die ();
            }
      }
}
unset($check_url);


но остана да се показва за двата реда 38 и 39, а имено:

HTML
                  (preg_match("/<[^>]*form*\"?[^>]*>/i", $check_url)) || (preg_match("\([^>]*\"?[^)]*\)", $check_url)) ||
                  (preg_match("\"", $check_url))) {


Това мнение е било редактирано от canon1d1v на 19-10-2018, 13:06
PMEmail Poster
Top
rvc
Публикувано на: 28-10-2018, 17:53
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2539
Регистриран на: 13.05.11



е какво се показва за тия два реда?
същата грешка ли е или друга?
PMEmail PosterUsers Website
Top
relax4o
Публикувано на: 28-10-2018, 18:39
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2152
Регистриран на: 04.04.07



Тя грешката е видима. preg_match изисква пълния regex pattern, включително и pattern delimiter-ите, които аз не виждам в последните 2 preg_match-а. Първия съдържа, но другите 2 не.

CODE

/.../flags


Избери си.


--------------------
Бисери :D

QUOTE (oveRLuckEd)
Ползваш някоя нова версия на PHP, която е вече ооп ориентирана и заради това ти я изкарва тази грешка.


QUOTE (nbacool2)
Щом няма input полета, значи няма откъде да се направи SQL инжекция Very Happy
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0