[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция отчистки переменной
ak167
Всем привет!
Имеется функция отчистки переменной, в которой удаляются прjбелы по бокам а так же заменяются все спецсимволы для защиты от sql-атаки. Имеется форма входа на сайта с полями логин и пароль и скрытым полем которое присваивает значения переменной logout=1. Когда посылается запрос, скрипт проверяет наличие переменной logout. Если она есть, то запускается функция отчистки переменной и функция записи в БД.
Вопрос: функцию отчистки переменные нужно ставить ДО проверки существования переменной (if($_POST['logout'])) или ПОСЛЕ нее (как в приведенном ниже скрипте)?


<?php

if($_POST['logout'])
{
// подключаем скрипт отчистки переменных
include 'clean_field.php';
$login=clean_field($_POST['login']);
$pass=clean_field($_POST['pass']);

// подключаем скрипт записи и проверки БД
include 'insert_bd.php';
insert_bd($login, $pass);
}

// html форма входа
?>
<table>
<
form action="index.php" method="post">
<
input type="hidden" name="logout" value="1">
<
tr><td>Логин:</td><td><input type="text" name="login" value="<?php echo $_POST['login']; ?>"></td></tr>
<
tr><td>Пароль: </td><td><input type="password" name="pass" value="<?php echo $_POST['pass']; ?>"></td></tr>
<
tr><td><br><input type="submit" value="Вход"></td><td>&nbsp</form></td></tr>
</
table>


И еще вопросы: оцените правильность с точки зрения стиля оформления скриптов. Все тут правильно?
Безопасно ли функцию записи и проверки в БД делать в отдельном файле (insert_bd.php)?



Спустя 11 минут, 48 секунд (24.04.2010 - 12:54) John_761 написал(а):
А чем не устраивает функция mysql_real_escape_string ?
"SELECT * FROM table WHERE login = '".mysql_real_escape_string($login)."'";

Спустя 14 минут, 15 секунд (24.04.2010 - 13:08) ak167 написал(а):
John_761, эта функция пробелы по бокам не удаляет!

Спустя 19 минут, 58 секунд (24.04.2010 - 13:28) John_761 написал(а):
Для удаления пробелов есть функция trim() wink.gif

Спустя 8 минут, 5 секунд (24.04.2010 - 13:36) ak167 написал(а):
John_761, да это я все знаю. Меня интересует куда это ставить до if($_POST['logout']) или после?
И можно ли функцию коннекта и записи в БД выносить в отдельный файл? Как это выгладит с точки зрения безопасности?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.