• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья Сдаем экзамен ПДД на сайте без ошибок

Шалом, уважаемые форумчане. Скоро стучит совершеннолетие, ну естественно, я подумал о правах и пошел в автошколу. Учить билеты не особо хотелось, мол были дела по-важнее. Вопросы конечно же и так не сложные, но, при решении билета, я заметил что всё работает через JavaScript. А раз всё работает так, то не будет проблемой узнать правильные ответы. Минут 20 покопавшись в скриптах сайта , мне удалось написать скрипт, который выдает номер правильного ответа. Вставляем следующий код в консоль браузера
JavaScript:
var elems = document.getElementsByClassName("q_container");
    for(var i = 0; i < elems.length; i++)
        if (elems[i].style.display == "block" || elems[i].style.display != "block" && elems[i].style.display != "none")
        {
        var main = elems[i].id;
        var x = main.replace(/^.{4}/, '');
        var right = $(document.getElementById(main).getElementsByClassName("answ_normal right")).attr("data-id");
        alert(right);
    }
Заходим на сайт и копипастим вышеуказанный код в консоль браузера

31453


Нам подсказывают, что правильный ответ находится под номером 1. Проверим

31454


И сдаем экзамен без единой ошибки xD. На случай, если будем затрудняться написать весь код в консоль, то сохраняем вышеуказанный код в скрипт с расширением .js и загружаем на любой сервер, который даст нам к нему прямой доступ. Для вызова скрипта, в консоли нужно будет написать одну строчку
JavaScript:
(function(d,s){s=d.createElement('script');s.src='http://путь до вашего скрипта .js';(d.head||d.documentElement).appendChild(s)})(document);
P.S Камнями не кидаемся, ибо есть люди которые еще не получили права :)
 

sgt makeev

New member
31.01.2020
1
0
BIT
0
Привет! Классно!
А можно ли такой скрипт написать для опросников, в которых правильные ответы уже после прохождения теста запрашиваются у сервера?
 

Bokucha

Green Team
18.02.2020
12
3
BIT
0
Привет с Грузии, попробовал переписать на но походу с стилями css они зашли дальше, и изначальный скрипт не особо помогает :)
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
203
Привет с Грузии, попробовал переписать на но походу с стилями css они зашли дальше, и изначальный скрипт не особо помогает :)
Привет. CSS тут не причем, дело в HTML тегах. Переписал скрипт под ваш сайт
JavaScript:
var elems;
    for(var a = 1; a < 4; a++)
{
elems = document.getElementsByClassName("t-answer t-answer-"+a);
    for(var i = 0; i < elems.length; i++)
        if (elems[i].style.display == "block" || elems[i].style.display != "block" && elems[i].style.display != "none")
        {
var my_str_value = $(elems[i]).attr('data-is-correct-list');

if (typeof my_str_value !== typeof undefined && my_str_value !== false)
{
   alert(a);
}
    }
    }
 

Bokucha

Green Team
18.02.2020
12
3
BIT
0
Привет. CSS тут не причем, дело в HTML тегах. Переписал скрипт под ваш сайт
JavaScript:
var elems;
    for(var a = 1; a < 4; a++)
{
elems = document.getElementsByClassName("t-answer t-answer-"+a);
    for(var i = 0; i < elems.length; i++)
        if (elems[i].style.display == "block" || elems[i].style.display != "block" && elems[i].style.display != "none")
        {
var my_str_value = $(elems[i]).attr('data-is-correct-list');

if (typeof my_str_value !== typeof undefined && my_str_value !== false)
{
   alert(a);
}
    }
    }
Спасибо конечно, поинтересовался ради забавы, если честно я не ожидал что кто-то вообще будет утруждатся и переписывать скрипт. Давай я тебе кое-что дам, для тестов, в лс :)
 

Theej

New member
04.03.2020
2
0
BIT
0
GoodSmile, привет. Скажи, а что-нибудь подобное можно реализовать в рамках сайтов на moodle? У меня сестра учится в университете. Они иногда сдают тесты в online-edu.mirea.ru (я ей помогал с маркетингом и экономикой), но ошибался.
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
203
GoodSmile, привет. Скажи, а что-нибудь подобное можно реализовать в рамках сайтов на moodle? У меня сестра учится в университете. Они иногда сдают тесты в online-edu.mirea.ru (я ей помогал с маркетингом и экономикой), но ошибался.
Подобное можно реализовать везде, где в документе уже загружены нужные данные. Если после каждого нажатия мы будет обращаться к серверу за ответом, то тут уже это не прокатит.
 

D3coy

One Level
09.03.2020
3
1
BIT
0
Позволю вставить свои 5 копеек. Немного переписал чтобы вместо окна с цифрой правильного ответа, менялся текст ответа на самой веб-странице что менее заметно..


JavaScript:
var elem = document.getElementsByClassName("q_container");
for (var i = 0; i < elem.length; i++) {
  if (elem[i].style.display == "block" || elem[i].style.display != "block" && elem[i].style.display != "none") {
    var main = elem[i].id;
    //document.write(main);
    //var x = main.replace(/^.{4}/, '');
    
    var right_answ = $(document.getElementById(main).getElementsByClassName("answ_normal right"));
    //alert(right_answ.attr("data-id"));
    right_answ.text("Правильный ответ");
  }
}
 
  • Нравится
Реакции: N1GGA

Эсли

New member
05.04.2020
3
0
BIT
0
Так а в html коде,прямо написано answer_normal right т.е. правильно.Тогда зачем скрипт этот писать,если в этом коде и так ответ есть?

Если я не правильно понял,то поправьте)
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
203
Так а в html коде,прямо написано answer_normal right т.е. правильно.Тогда зачем скрипт этот писать,если в этом коде и так ответ есть?

Если я не правильно понял,то поправьте)
Если удобно каждый раз кувыркаться в HTML коде - то пожалуйста. Не все знают и умеют находить нужные элементы.
 

Эсли

New member
05.04.2020
3
0
BIT
0
Подобное можно реализовать везде, где в документе уже загружены нужные данные. Если после каждого нажатия мы будет обращаться к серверу за ответом, то тут уже это не прокатит.
А если правильного ответа нет в коде? Можно ли написать скрипт,чтобы после каких либо манипуляций(пример:нажать на кнопку) он смог выдать правильный ответ?
 

Эсли

New member
05.04.2020
3
0
BIT
0
Можешь пожалуйста примерно рассказать,как это сделать.К примеру 1 задание состоит из 2 radio,в общей сложности таких заданий 3.Все находятся на одной странице.Можно ли,узнать ответы на таком сайте?
 

N1GGA

Codeby Team
Platinum
16.07.2018
326
332
BIT
203
Окей,что если у меня ответы появляются в конце теста,когда уже все сделал. Как узнать то правильный ответ при этом?
К тому же говорили, что у каждого вопросы и ответы меняются местами
Для каждого случая нужно придумать свой подход.
 

R3M1X

Green Team
16.02.2020
117
20
BIT
0
после таких дебилов на дорогу выезжать опасно, не говоря уж о безопасности на дороге
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!