Защита данных $ _post и $ _get перед использованием

У меня есть вопрос относительно безопасности опубликованных данных для моего приложения. У меня есть код, где я ловлю все данные $ _POST и $ _GET от клиента и помещаю их в массив объекта. Этот объект затем передается в функции, где мне нужно получить доступ к определенному типу данных (GETS, POSTS, SESSIONS, некоторые конфиги и т. Д …).

Я ловлю все сообщения и получаю с этой частью кода:

foreach ($_GET as $key => $value)   // STORE $_GET VALUES
{
$this->_get[$key] = $value;
}

foreach ($_POST as $key => $value)  // STORE $_POST VALUES
{
$this->_post[$key]  = $value;
}

foreach ($_SESSION as $key => $value)   // STORE $_SESSION VALUES
{
$this->_session[$key] = $value;
}

$this->_config = $config;

unset($config); // CLEAR $CONFIG VALUES

unset($_GET, $_POST /*, $_SESSION */ ); // CLEAR $_GET, $_POST FOR SECURITY ISSUES

В конце этого файла приложения я возвращаю $ this -> _ сеанс обратно к $ _SESSION, например так:

foreach ($in->_session as $key => $value)   // STORE $_SESSION VALUES
{
$_SESSION[$key] = $value;
}

Как я могу сбежать или сделать что-то еще с помощью GETS и POSTS, чтобы их можно было «безопасно» использовать в приложении. Иногда я использую этот метод для доступа к базе данных или записи данных в базу данных, но я не уверен, безопасно ли это.

Любое предложение?

0

Решение

Вы захотите экранировать значения, прежде чем сохранить их в своем объекте,
Я не уверен, почему вы хотите удалить исходные переменные, но если вы это сделаете, я бы порекомендовал сохранить их исходные значения в другом объекте.
в целях отладки

foreach ($_GET as $key => $value)   // STORE $_GET VALUES
{
$this->_get[$key] = $this->escape($value);
}

private function escape($value){
// ... here you will have to escape the xss or sql injections
return $escapedValue;

}

здесь приятно читать статьи про безопасность

Шпаргалка по безопасности PHP

1

Другие решения

Я рекомендую вам отфильтровать и очистить ваши значения от $_POST а также $_GET прежде чем хранить их как объекты

проверить документация а также продезинфицировать фильтры

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector