Обновление с PHP 5,6 до 7,4 - PullRequest
2 голосов
/ 18 января 2020

Новичок ie здесь. Я обновляюсь с PHP 5.6 до 7.6

. На моей странице входа в систему невозможно войти в систему, появляется следующая ошибка:

устарела: функция get_magic_quotes_gp c () устарела в /home/domain/library/config.php в строке 49

Вот код для конфигурации. php file:

        <?php
ini_set('display_errors', 'On');
//ob_start("ob_gzhandler");
error_reporting(E_ALL);

// start the session
session_start();
$sid = session_id();

// database connection config
$servername = 'xxx';
$username = 'xxx';
$password = 'xxx';
$dbName = 'xxx';


require_once 'database.php';
require_once 'common.php';

// get the shop configuration ( name, addres, etc ), all page need it
$getSiteConfig = getSiteConfig();

// setting up the web root and server root for
// this shopping cart application
$thisFile = str_replace('\\', '/', __FILE__);
$docRoot = $_SERVER['DOCUMENT_ROOT'];

$webRoot  = str_replace(array($docRoot, 'library/config.php'), '', $thisFile);
$srvRoot  = str_replace('library/config.php', '', $thisFile);

define('WEB_ROOT', $webRoot);
define('SRV_ROOT', $srvRoot);


define ( "REDIRECT_AFTER_CONFIRMATION", TRUE );
define ( "ADMIN_EMAIL", $getSiteConfig['siteemail'] );  
define ( "DOMAIN_NAME", $getSiteConfig['sitename'] );   
define ( "USE_SMTP", FALSE );
define ( "SMTP_PORT", "" );     
define ( "SMTP_HOST", "" ); 
define ( "SMTP_USER", "" );
define ( "SMTP_PASS", "" ); 
define ( "MAIL_IS_HTML", TRUE );    
/**
 * website title.
 */


if (!get_magic_quotes_gpc()) {
    if (isset($_POST)) {
        foreach ($_POST as $key => $value) {
            $_POST[$key] =  trim(addslashes($value));
        }
    }

    if (isset($_GET)) {
        foreach ($_GET as $key => $value) {
            $_GET[$key] = trim(addslashes($value));
        }
    }   
}

removeInactiveUsers();

?>

Когда я удаляю не рекомендуется использовать get_magic_quotes_gp c () и go на странице входа, просто пусто.

1 Ответ

5 голосов
/ 18 января 2020

Маги c цитаты считались проблемой безопасности задолго до PHP 5.6, и они, наконец, были удалены.

Код, которым вы поделились, эффективно эмулирует магические c цитаты если настройка кавычек magi c отключена.

Поэтому, чтобы ваш код работал как прежде, вам нужно всего лишь удалить if (!get_magic_quotes_gpc()) и убедиться, что код в этом блоке всегда выполняется.

Однако, поскольку он эмулирует эту функцию со связанными ошибками безопасности, есть явные признаки того, что ваш источник проблематичен c. Вы никогда не должны были полагаться на эту функцию, и вам следует просмотреть весь код, который делает что-либо с запросами к базе данных, или что-то действительно в вашем источнике, основанном на экранировании строк, и проверять их один за другим. Не полагайтесь на эти хакерские подходы к безопасности.

...