Page 1 of 1

Изкачащи редове с грешки

Posted: Fri Oct 19, 2018 4:13 am
by canon1d1v
Смених хоста на сайта и сега ми излиза това съобщение:

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);
[/html]

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

Posted: Fri Oct 19, 2018 5:53 am
by raiden
На новия хост имаш по-висока версия на PHP (>=5.3.0), в която функцията е deprecated и ще бъде премахната (вече е в PHP 7).
Можеш да я замениш с preg_match:
eregi("<[^>]*script*\"?[^>]*>", $check_url)
става
preg_match("/<[^>]*script*\"?[^>]*>/i", $check_url)

Останаха само два реда?

Posted: Fri Oct 19, 2018 10:58 am
by canon1d1v
Промених кода, но остана съобщението за два реда, а имено 38 и 39, те са:

[html](eregi("\([^>]*\"?[^)]*\)", $check_url)) ||
(eregi("\"", $check_url))) [/html]

Re: Останаха само два реда?

Posted: Fri Oct 19, 2018 3:03 pm
by anonimen
canon1d1v wrote:Промених кода, но остана съобщението за два реда, а имено 38 и 39, те са:

[html](eregi("\([^>]*"?[^)]*\)", $check_url)) ||
(eregi(""", $check_url))) [/html]
Е просто прилагаш същите промени и върху тях?

Всичко се оправи!

Posted: Tue Oct 23, 2018 4:21 pm
by canon1d1v
Здравейте!

За всички, които имат същия проблем, нещата ги промених и всичко се оправи!
Ето новия код:
[html] 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("/<[^>]*\"?[^)]*>/i", $check_url)) ||
(preg_match("/<\">/i", $check_url))) {
[/html]