[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка сессии
Эли4ка
Добрый вечер,дорогие программисты!Сегодня встала задача:Надо сделать так,чтобы пользователь не мог попасть на страницу просто так.То есть на одной странице устанавливается сессия,на второй ее проверяет и только потом результат.Скажите я правильно сделала,просто неуверенна я что ли.. :blink:
Страница 1:
<?php
session_start();
$code = 1234567890;
$_SESSION['code'] = $code;
echo 'Код записан,надо проверить на стр';
?>

Страница2:
<?php
session_start();
if($_GET['getСode'] == $code) {
echo 'Отлично';
}
else echo 'Error';
?>

Спасибо.



Спустя 9 часов, 24 минуты, 5 секунд (21.07.2012 - 01:41) SerginhoLD написал(а):
на второй странице сравнивать с $_SESSION['code'] нужно

Спустя 3 часа, 16 минут, 43 секунды (21.07.2012 - 04:57) Эли4ка написал(а):
SerginhoLD
зачем.я присвоила значение переменной..

Спустя 5 часов, 44 минуты, 58 секунд (21.07.2012 - 10:42) nikolasline написал(а):
Страница2:


<?php
session_start();
if($_SESSION['code'] == $_GET['getСode'] ) {
echo 'Отлично';
}
else echo 'Error';
?>



Вы это хотели сделать?

Спустя 3 минуты, 20 секунд (21.07.2012 - 10:46) 12345 написал(а):
Цитата
if($_GET['getСode'] == $code)

Что с чем ты здесь хочешь сравнить?

Спустя 19 часов, 16 минут (22.07.2012 - 06:02) Эли4ка написал(а):
nikolasline
Цитата
Вы это хотели сделать?

что хотела сделать,не поняла?
12345
Цитата
Что с чем ты здесь хочешь сравнить?

в первой странице я уже присвоила этой переменной.и потом если я делаю по варианту nikolasline,то все время ошибка..

Спустя 1 час, 59 минут, 56 секунд (22.07.2012 - 08:02) nikolasline написал(а):
Цитата (Эли4ка @ 22.07.2012 - 03:02)
что хотела сделать,не поняла?

Приведите полностью PHP и HTML код.

Спустя 5 часов, 19 минут, 57 секунд (22.07.2012 - 13:22) Winston написал(а):
<?php
session_start();
$code = $_SESSION['code'] = 1234567890;
echo 'Код записан,надо проверить на стр';
?>

<?php

session_start();
if(isset($_SESSION['code'], $_GET['getСode']) && $_GET['getСode'] == $_SESSION['code']) {
echo 'Отлично';
}
else echo 'Error';
?>

Спустя 16 часов, 44 минуты, 46 секунд (23.07.2012 - 06:06) Эли4ка написал(а):
Winston
Спасибо,а зачем нужно делать проверку на установленность?
nikolasline
так я привела,HTML-кода тут нет rolleyes.gif

Спустя 2 часа, 43 минуты, 48 секунд (23.07.2012 - 08:50) Winston написал(а):
Цитата (Эли4ка @ 23.07.2012 - 06:06)
Спасибо,а зачем нужно делать проверку на установленность?

Чтобы не было нотисов.
Но если ты на 100% уверена, что на второй странице всегда будут эти переменные, то isset можешь убрать.

Спустя 1 день, 3 часа, 53 минуты, 28 секунд (24.07.2012 - 12:44) Эли4ка написал(а):
Цитата
Но если ты на 100% уверена, что на второй странице всегда будут эти переменные,

вот именно,что неуверенна,вдруг злоумышленник попробует без них зайти.. smile.gif cool.gif

Спустя 2 часа, 1 минута, 8 секунд (24.07.2012 - 14:45) vital написал(а):
Цитата (Эли4ка @ 24.07.2012 - 11:44)
Цитата
Но если ты на 100% уверена, что на второй странице всегда будут эти переменные,

вот именно,что неуверенна,вдруг злоумышленник попробует без них зайти.. smile.gif cool.gif

У любого скрипта должна быть 1 точка входа - index.php.

Если открыт другой файл напрямую - скрипт должен упасть. Обычно для этого устанавливают константу какую-нить. типа
index.php
define('WE_ARE_WORKING_NORMAL', 1);
любой_другой_файл.php
if (!defined('WE_ARE_WORKING_NORMAL')){ die('Умри хакерская сволочь!');}

А сессии для другого нужны.

Спустя 1 день, 1 минута, 10 секунд (25.07.2012 - 14:46) Эли4ка написал(а):
vital
а почему тут сессии не уместны?

Спустя 13 минут, 53 секунды (25.07.2012 - 15:00) neadekvat написал(а):
Цитата (Эли4ка @ 25.07.2012 - 15:46)
а почему тут сессии не уместны?

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

Любой инструмент надо использовать по назначению.

Спустя 20 часов, 27 минут, 59 секунд (26.07.2012 - 11:28) Эли4ка написал(а):
neadekvat
ага,понятно..спасибо.
Быстрый ответ:

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