У меня есть этот вопрос относительно безопасности опубликованных данных в моем приложении. У меня есть код, где я улавливаю все данные $ _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
В конце этого приложения файл, я потом обратно $ это -> _ сессию обратно в $ _SESSION, как это:
foreach ($in->_session as $key => $value) // STORE $_SESSION VALUES
{
$_SESSION[$key] = $value;
}
Как я могу сбежать или сделать что-то еще с помощью GETS и POSTS, чтобы их можно было «безопасно» использовать в приложении. Иногда я использую это для доступа к базе данных или записи данных в базу данных, но я не уверен, что это безопасно.
Любое предложение?
Посмотрите, как вам нужно, чтобы избежать Db инъекций и XSS инъекций, я бы рекомендуем стерилизовать значения, прежде чем хранить их в объекте, поскольку sql использует встроенную функцию sql escape, а для XSS вам нужно будет найти наиболее подходящую вам функцию. – talsibony
ПОЧЕМУ вы делаете такие вещи? С таким подходом так много проблем (как известных, так и вероятных), что я не знаю с чего начать. – thomasb
@ cosmo0: потому что я хочу передать все необходимые данные, погода - это сообщение, получение, сеанс или настройка конфигурации через один объект и просто использовать то, что мне нужно, где мне нужно. Но если есть лучшее решение для достижения этого, я буду использовать ti. – burtonium76