Перейти к содержанию

Модификатор для system/library/request.php


Перейти к решению Решений mpn2005,

Рекомендуемые сообщения

Привет!

Могу ли я без последствий изменить (модификатором) код в классе Request?

Т.е. нарушит ли это работу магазина? Читала, что ядро нельзя трогать

 

В поля БД попадают всевозможные пробельные символы (в частности, табуляция, которая не обрезается функцией mysql trim)

Для уже введенных данных использую

SELECT ......  WHERE TRIM('\t' FROM TRIM(model)) IN (...,...,....)

 

В system/library/request.php

было

$data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');

хочу сделать

$data = htmlspecialchars(trim($data), ENT_COMPAT, 'UTF-8');

 

class Request {
    public $get = array();
    public $post = array();
    public $cookie = array();
    public $files = array();
    public $server = array();
    
    /**
     * Constructor
     */
    public function __construct() {
        $this->get = $this->clean($_GET);
        $this->post = $this->clean($_POST);
        $this->request = $this->clean($_REQUEST);
        $this->cookie = $this->clean($_COOKIE);
        $this->files = $this->clean($_FILES);
        $this->server = $this->clean($_SERVER);
    }
    
    /**
     * 
     * @param    array    $data
     *
     * @return    array
     */
    public function clean($data) {
        if (is_array($data)) {
            foreach ($data as $key => $value) {
                unset($data[$key]);

                $data[$this->clean($key)] = $this->clean($value);
            }
        } else {
            $data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8'); //$data = htmlspecialchars(trim($data), ENT_COMPAT, 'UTF-8');
        }

        return $data;
    }
}

 

Ссылка на комментарий
Поделиться на другие сайты

  • Решение

Добрый день.

Менять можно, никто не запрещает.

Но нужно понимать, что это действует абсолютно на весь сайт. 

И чисто в теории - может где-то подрезать и нужные пробелы.

Ссылка на комментарий
Поделиться на другие сайты

19 минут назад, ElenaPr сказал:

Спасибо. Не буду рисковать. А так заманчиво.

Заменяйте на уровне нужных контроллеров.

Или только для нужных post переменных.

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, ElenaPr сказал:

Спасибо. Не буду рисковать. А так заманчиво.

программист не получится с таким подходом

 

 

Ссылка на комментарий
Поделиться на другие сайты

13 часов назад, mpn2005 сказал:

Заменяйте на уровне нужных контроллеров.

Или только для нужных post переменных.

Да. Так и планирую

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...