<?php
/**
* Защита от sql инъекций
* автор: [BoB]
* 15.03.2015
*/
/*
Почему-то разработчики PHP не сделали функцию для работы с бд,
которая принимает запросы с параметрами.
Это сильно бы помогло в безопасности.
*/
//эта функция экранирует параметры
function qw() {
$args = func_get_args();
$query = array_shift($args);
$args = array_map('mysql_real_escape_string', $args);
array_unshift($args, $query);
$query = call_user_func_array('sprintf', $args);
if (!$query) die('неверный запрос');
return mysql_query($query);
}
//пример использования
$q = qw("SELECT * FROM tbl WHERE login='%s' AND pass='%s' ", "лог'ин", "пар'оль");
//в этом запросе все кавычки будут экранирован