@tryvols
Front-End разработчик

Этот модуль достаточно защищает сайт от XSS и SQL injection?

На сервер передаются только строки или числа.
Естественно PDO в помощь.

Class CheckPost {
	public static function check() {
		foreach($_POST as $key => $value) 
		{
			unset($_POST[$key]);
			$key = mysql_escape_string( htmlspecialchars( strip_tags($key)));
			
			switch(gettype($value)) 
			{
				case 'integer':
					$_POST[$key] = intval($value);
					break;
				case 'string':
					$_POST[$key] = mysql_escape_string( htmlspecialchars( strip_tags($value)));
					break;
			}

			if (is_null($value) || $value == '' || empty($value)) {
				unset($_POST[$key]);
			}
		}
	}
}
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
первое и главное - mysql_escape_string - деприкэйтед. Не говоря уже о том что не гарантирует защиту. Для этого есть PDO и prepared statements. При использовани препаред - инжекшн практически исключен.

Что должно попасть в кей, что должно остаться в валуе? текст, спецсимволы? Создайте правила, например используйте регулярки.
$keyPreg = "/[A-Za-z0-9]+/";
$key = preg_match($keyPreg, $key);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы