Написал небольшую функцию на PHP:
function sql_guard($method, $query, $type)
{
if ($method == 'POST')
$safe_text = ($type == 'int') ? intval($_POST["$query"]) : addslashes($_POST["$query"]);
elseif ($method == "GET")
$safe_text = ($type == 'int') ? intval($_GET["$query"]) : addslashes($_GET["$query"]);
else
$safe_text = ($type == 'int') ? intval($_REQUEST["$query"]) : addslashes($_REQUEST["$query"]);
return $safe_text;
}
Применяется так:
$var1 = sql_guard('POST', 'input1');
$var2 = sql_guard('POST', 'input2', 'int');
Думаю, что она делает объяснять не стоит. А теперь, собственно, у меня вопрос о целесообразности использования такой функции. Не проще ли (а может быть правильнее) делать addslashes или intval в самом теле запроса? Или это дело вкуса?
Также хотелось бы узнать, какие еще способы защиты от инъекций нужно использовать. Да и вообще, общие советы по безопасности.