![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
В инсте, чтоб не париться с физикой сильно и получить отлично сразу автоматом, дали задание по написанию тестирующего сервера... т.е. есть комп... на нем есть сервер(тот который пишу), так же есть компы, за которыми тестируются студенты(но в не суть в том что есть другие компы)
Дак вот! Студент зарегивается... Начинает проходить тест... заканчивает проходить его... Нажимает на "закончить тест" После появляется страничка с результатами правильных и не правильных ответов... Проблема возникает такая: Пользователь может просто нажать в браузере на кнопочку означающую - перейти на страницу назад... И при этом возвращается на страницу с тестом, и правит ответы... после опять заканчивает тест и опять смотрит результаты... И это всё может повторяться кучу раз, пока студента не забьёт совесть, и он не нажмет на закончить сессию... Как это исправить? --------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
тут думать сильно не надо.
приделать авторизацию и все. если авторизация есть(не представляю, как без авторизации предполагается выдавать отчет преподавателю об успеваемости), то какая проблема? надо проверять, не проходил ли человек этот тест. можно даже хранить список заданных вопросов и задавать уже другие, которые в прошлый рз не прозвучали. |
|||
|
||||
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
Авторизация конечно есть. т.е. сначала студент регится, а потом заходит под своим аккаунтом...
>>надо проверять, не проходил ли человек этот тест. именно это и надо.... я новичок в php программировании... поэтому можете объяснить как сделать, лучше бы с примером... если я правильно понял, то нужно завести для каждого аккаунта флажок... но куда его вставить? P.S.: так же использую mysql --------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
ILyAHA, результаты тестирования у тебя хранятся в БД?
а какой вариант ты выбираешь? позволишь проходить по нескольку раз, но с другими вопросами? или чтоб тест тоьлко раз можно было пройти? в любом случае, тебе надо предусмотреть хранения списка либо вопросов, либо тестов(лучше, конечно, чтоб все динамические данные(от названия тестов до оценок) хранилось в БД) в виде отдельной таблицы. тогда тебе останется добавить таблицу для хранения связи между студентом(точнее, авторизационным аккаунтом) и вопросм(или тестом). само наличие связи и будет "флажком". в данном случае, пример - сама система, что ли? |
|||
|
||||
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
только пройти один раз... Добавлено через 2 минуты и 15 секунд у меня хранится список вопросов, и ответов на них в БД... Добавлено через 2 минуты и 43 секунды а также результаты тестирования --------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
хм. ну, раз у тебя один-единственный тест, то храни в поле в таблице студентов значение - проходил тест или нет.
в чем проблема? |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
я с этим по другому разобрался. у нас еще было условие чтобы студенты не могли подсмотреть электронный вариант (на каждом компе хранятся лекции), и мы просто напросто на основе компонента осла написали небольшую программку (эмулятор, браузер хоть как эго назовите) который не позволяет возращаться назад (только вперед и еще раз вперед) + лочим ненужные кнопки или сочетания. Добавлено через 54 секунды да, программку можно оформить как угодно что водить в тупик любителей хака. (ну от куда им знать что это обычный осел -------------------- Amazing |
|||
|
||||
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
MoLeX, а можно спросить, что за компонент "Осел" ?
--------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| Pokoinik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 17.3.2007 Где: /dev/null Репутация: 2 Всего: 3 |
ILyAHA, internet explorer
-------------------- ICQ: 490-993 Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!! Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают. Делай или не делай! Никаких попробую! Йода (Yoda), мастер-джедай |
|||
|
||||
| uNabL3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.10.2007 Репутация: нет Всего: нет |
header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); header( 'Cache-Control: no-store, no-cache, must-revalidate' ); header( 'Cache-Control: post-check=0, pre-check=0', false ); header( 'Pragma: no-cache' ); В начало скрипта и пусть бедные студенты долбят назад хоть до посинения )))))) |
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
в делфи он звучит приблизительно так TWebBrowser, есть еще аналог это компонента - Embedded Web Browser -------------------- Amazing |
|||
|
||||
| helflip |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 146 Регистрация: 14.5.2006 Где: Moscow Репутация: 2 Всего: 4 |
Можно сделать совсем просто! заводишь две переменные $_SESSION['allQuest'] и $_SESSION['thisQuest'].
В $_SESSION['allQuest'] заносишь общее количество вопросов, а в $_SESSION['thisQuest'] номер текущего вопроса! И в начало скрипта вставляешь проверку чтобы $_SESSION['allQuest'] не равнялся $_SESSION['thisQuest']! Это чтобы чел не смог вернуться назад! Или если в базе хранится и результаты тестирования и и список студентов, то делаешь проверку! С базой совсем просто --------------------
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |