Есть простой скрипт читает из бд следующее: Код (Text): $query = "SELECT * FROM users WHERE id = 113"; $result = mysql_query($query); while($row = mysql_fetch_array($result)){ $email = $row['email']; } и выводит все это в tpl шаблон, но как защитить скрипт или тут нечего ломать?
встречный вопрос, я во всем этом конечно нуб и только учусь, явот работаю с сессиями могу спокойно юзать запрос $query = "SELECT * FROM users WHERE id = $_SESSION['id']"; ?
через куки ведь нельзи никак будет sql inj сделать? ну как нить в сессию добавить ченить ) соре мб тупые вопросы
Invision если ты сам пишешь в сессию что-то свое. а не передаешь извне в нее всякое. Но по уму надо всегда все экранировать
ладно встречный вопрос как сделать когда сессия юзеру записывается при авторизации поставить на нее дату +3600 к примеру в минутах) т.е до какого сделать её активной... А то браузер закрываешь заходишь и снова нужно авторизовываться) обязательно кукисы присваивать? (всм логин и пароль md5 к примеру как в некоторых случаях делаешься)
Путаю!) Вопрос следующий( я нашел способ как реализовать это все, но не могу добавить кукисы( К примеру значение: setcookie('user', $login , time() + 2592000); setcookie('pswd', $pass , time() + 2592000); Куда только это значение не добавлял! Добавил где успешно проходит проверку на авторизацию но почему то кукисы не добавляются (
Реализовал кнопочку проверил через print alert если галку жму то выводится сообщение) значит пашет, добавил параметр установитькукис и все равно не ставится( p.s session_start этот параметр включен, не в нем дело?
Invision firebug тебе в помостчь, дорогой товаристчъ и не путай людям мозги php с js Как ты там алерт принтаешь, покаж-ка.
ну не принтаю ) exit ("<script>alert('ололо');</script>"); я не людям пудрю а разобраться не могу и помощи прошу вот и все.
Invision покаж как ты куки делаешь и теги юзай могучие, дабы обернуть коды всякие в подобающие ббкоды.
Вот кусок для примера: Код (Text): if($_POST['rememberme']=='yes') { setcookie("username", $_POST['login'], time()+7200); } html: Код (Text): <input type="checkbox" name="rememberme" value="yes"> не добавляется кукис username. P.S Сессия включена. Мб в этом проблема если сессия пашет то кукис не хочет писать?
Что то куда не леплю нифига( Вот скрипт авторизации: Код (Text): if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //Присваеваем логину переменную $login, если она пуста уничтожаем её if (isset($_POST['pass'])) { $pass=$_POST['pass']; if ($pass =='') { unset($pass);} } //так же присваеваем паролю переменную $pass проверяем.... // В общих чертах, или /* if (empty($login)) //Проверяем на введенность данных { exit ("Не введен логин, исправьте"); } if (($pass)) //Проверяем на введенность данных { exit ("Не введен пароль, исправьте"); } */ if (empty($login) or empty($pass)) //Проверяем на введенность данных { exit (""); } //обрезаем всякие тэги и прочую нечисть $login = stripslashes($login); $login = htmlspecialchars($login); $pass = stripslashes($pass); $pass = htmlspecialchars($pass); //удаляем лишние пробелы $login = trim($login); $pass = md5($pass); $result = mysql_query("SELECT * FROM users WHERE login='$login'"); //извлекаем из базы все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result); if (empty($myrow['pass'])) { //если пользователя с введенным логином не существует exit ("<script>jAlert('Введённый вами логин или пароль неверный.', 'Ошибка авторизации');</script>"); } else { //если существует, то сверяем пароли if ($myrow['pass']==$pass) { //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел! $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь if($_POST['rememberme']=='yes') { setcookie("username", $_POST['login'], time()+7200); exit ("<script>alert('ИИхаааааа');</script>"); } echo "<script>setTimeout('location.href=\"index.php\"',0); </script>"; } else { //Если логин и пасс не сходятся exit ("<script>jAlert('Извините, введённый вами логин или пароль неверный.', 'Ошибка авторизации');</script>"); } } что не так то
Invision 1. Включите показ ошибок 2. Посмотрите консоль Firebug 3. Посмотрите логи 4. http://phpfaq.ru/debug mako Причем тут идентификатор, если автор хочет куки? Смените, пожалуйста, аватару -- по правилам форума разрешены только личные фотографии.