1. Как правильно и безопасно использовать сессии? 2. Как правильно и безопасно использовать куки? 3. Что хранить в сессиях и куках для перехода по страницам в рамках одного проекта, в котором используется авторизация?
1. Сессии безопасны, опасность в криворукости программиста 2. Куки хранятся на стороне клиента, что не безопасно, поэтому там можно хранить не нужную мелочь 3. Все на что способна твоя фантазия Конкретней задавай вопросы а не обобщенные, для этого книги читать надо.
Если я буду хранить id пользователя в сессии для перехода по страницам, то это безопасно? Что Вы можете посоветовать?
Можно ли вкладывать сессии в инклуды таким образом? <?php //Проверка прохода не по прямой ссылке с помощью константы. if( !defined('CONNECT') ) exit; $db=mysql_connect("localhost","nik","123456") or die ('Ошибка соединения с сервером'); mysql_select_db("qwerty",$db) or die('Ошибка выбора БД');; mysql_query("SET NAMES utf8"); session_start(); //Проверяем наличие сессии. if (isset($_SESSION['id']) and isset ($_SESSION['nik'])) { $id = $_SESSION['id']; $nik = $_SESSION['nik']; } ?> Или сделать для сессии отдельный инклуд и расположить его в самом начале кода?
Я не знаю как организованно твое приложение, поэтому посоветовать что то сложно. Если тебе так удобно делай так если хочешь вынести в отдельный файл и просто инклудить делай так. Все зависит от приложения. А зачем ты решил выносить? Две ;
Если во всех надо сделай какой нибудь файл. Я вообще сторонник MVC там проще одна входная точка и работать удобней. Ну и так совет что ли переходи на PDO или MYQSLI, mysql_* устарел.
Поверьте на слово - лучше набивать опыт не на устаревших средствах. Запросы одинаковы, а надежность и скорость работы с БД - на порядки выше. Для начала, прочитайте эту статейку. Не пугайтесь, там нет ничего сложно: поэкспериментируйте пару-тройку раз и быстро втянитесь
Я понял принцип сессии на этом примере авторизации , может и вам поможет Код (Text): <?php session_start(); if ($_POST['login'] == 'admin' && $_POST['pass'] == 'admin') $_SESSION['auth'] = '1'; //можно еще $_SESSION['login']=$_POST['login'] if (isset($_GET['logout'])) unset($_SESSION['auth']); ?> <html> <body> <?php if (isset($_SESSION['auth'])) echo 'Вы авторизованы, <a href="/test.php?logout"> Выход </a>'; else {?><br> <form method='POST' action = 'test.php'> <br>Логин<input type='text' name='login'><br> <br>Пароль<input type='password' name='pass'><br> <br><input type='submit' value='Авторизоваться'><br> </form><br>вы не авторизованы <br><?}?><br> </body></html>