сессии & SQL Injection

Fratyr

Новичок
сессии & SQL Injection

Здравствуйте уважаемые.
Промучался тут пару часов и решил обратиться за помощью.

Сижу на последнем Denwer'е. WinXP, Apache 2.* MySQL 5.* PHP 5.* register_globals: OFF

Вопрос следующий, я пишу регистрацию пользователей. Подобную той, как на этом форуме, но методом POST, я регистрирую все данные в Сессию, проверяю и если в последнем шаге собрались правильные данные, забиваю в ДБ и убиваю сессию.
Так как в сессиях я новичек, то я решил просто побаловаться и попробовать как оно работает. Все вроде нормально и переходит по шагам как надо, только не так как я хочу.

Например функция 3го шага выглядит так:
PHP:
function step_three(){
	echo "You are at step 3";
	echo "Finish or die?";
	echo "<form action='$PHP_SELF' method='post' name='form2'>
<input type='submit' name='submittedto3' value='Finish'></form>";

	$_SESSION['step'] = 4;
}
Я не хочу чтобы шаг сессии увеличивался в любом случае при вызове 3й функции, я хочу чтобы шаг увеличивался только в том случае, если была нажата кнопка "Proceed" во второй функции.
Вот и вопрос как такое реализовать. Сделать невидимый инпут с названием и значением видимо, но как его применить - обращаюсь к вам..

Дальше, SQL Injection. Защитить от скриптовых детишек запросы я могу, trim, stripslashes, htmlspecialcharacters и регулярные выражения, но слышал про такую вещь как: "--" "0x" линуксовый вызов флажков и хекс байт. Как можно изолировать подобные запросы? чем их стрипать? если кто может привести пример :)

Заранее благодарен. :)
 

serglt

Анус, ой, Ахтунг
В первом - обычный if тебя спасет
http://phpfaq.ru/slashes - это по кавычкам
 

Фанат

oncle terrible
Команда форума
Fratyr, по поводу твоего предыдущего вопроса.
Разбивай код на блоки и отрабатывай каждый по очереди.
 

Fratyr

Новичок
Спасибо за ответы, с кавычками разобрался.

С неправильным обновлением шага в сессии при обычном рефреше страницы еще не разобрался, видимо надо тоже вести какую-то проверку и только потом обновлять шаг сессии, иначе можно проскакать по всей регистрации не введя ничего в поля.
 
Сверху