сбросить тур для пользователя на этой странице что это значит

Всё, что вы хотели знать о безопасном сбросе паролей. Часть 1

Недавно у меня появилось время снова поразмыслить над тем, как должна работать функция безопасного сброса пароля, сначала когда я встраивал эту функциональность в ASafaWeb, а потом когда помогал сделать нечто подобное другому человеку. Во втором случае я хотел дать ему ссылку на канонический ресурс со всеми подробностями безопасной реализации функции сброса. Однако проблема в том, что такого ресурса не существует, по крайней мере, такого, в котором описывается всё, что мне кажется важным. Поэтому я решил написать его сам.

Видите ли, мир забытых паролей на самом деле довольно загадочен. Существует множество различных, совершенно приемлемых точек зрения и куча довольно опасных. Есть вероятность, что с каждой из них вы много раз сталкивались как конечный пользователь; поэтому я попытаюсь воспользоваться этими примерами, чтобы показать, кто делает всё правильно, а кто нет, и на чём нужно сосредоточиться для правильной реализации функции в своём приложении.

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Хранение паролей: хэширование, шифрование и (ох!) простой текст

Мы не можем обсуждать, что делать с забытыми паролями, прежде чем не обсудим способ их хранения. В базе данных пароли хранятся в одном из трёх основных видов:

Шифрование лучше, но имеет свои слабые стороны. Проблема шифрования — в дешифровке; можно взять эти безумно выглядящие шифры и преобразовать их обратно в простой текст, а когда это произойдёт, мы вернёмся к ситуации с читаемыми паролями. Как это происходит? Небольшой изъян проникает в код, занимающийся дешифровкой пароля, делая его публично доступным — это один из способов. Доступ к машине, на которой хранятся зашифрованные данные, получают взломщики — это второй способ. Ещё один способ опять-таки заключается в том, что похищают резервную копию базы данных, и кто-то также получает ключ шифрования, которые часто хранятся очень ненадёжно.

И это приводит нас к хэшированию. Идея хэширования заключается в том, что оно выполняется в одну сторону; единственный способ сравнения введённого пользователем пароля с его хэшированной версией — хэширование введённого и их сравнение. Чтобы предотвратить атаки при помощи инструментов наподобие «радужных таблиц», мы при помощи соли добавляем в процесс случайность (для полноты картины прочитайте мой пост о криптографическом хранении). В конечном итоге, при правильной реализации мы можем с большой долей уверенности считать, что хэшированные пароли больше никогда не станут простым текстом (о преимуществах различных алгоритмов хэширования я расскажу в другом посте).

Краткий аргумент о хэшировании и шифровании: единственная причина, по которой вам когда-нибудь потребуется зашифровать, а не хэшировать пароль — это когда вам нужно увидеть пароль в простом тексте, а вам этого никогда не должно хотеться, по крайней мере, в ситуации со стандартным веб-сайтом. Если вам это нужно, то, скорее всего, вы делаете что-то не так!

Чуть ниже в тексте поста есть часть скриншота порнографического веб-сайта AlotPorn. Он аккуратно обрезан, и так нет ничего такого, чего нельзя увидеть на пляже, но если это всё равно может вызвать какие-то проблемы, то не прокручивайте страницу вниз.

Всегда сбрасывайте пароль, никогда его не напоминайте

Вас когда-нибудь просили создать функцию напоминания пароля? Сделайте шаг назад и подумайте об этой просьбе в обратную сторону: зачем нужно это «напоминание»? Потому что пользователь забыл пароль. Что мы на самом деле хотим сделать? Помочь ему снова войти в систему.

Я понимаю, слово «напоминание» используется (часто) в разговорном смысле, но на самом деле мы пытаемся безопасно помочь пользователю снова быть онлайн. Так как нам нужна безопасность, есть две причины, по которым напоминание (т.е. отправка пользователю его пароля) не подходит:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Очевидно, первая проблема заключается в том, что страница входа в систему не загружается по HTTPS, но сайт к тому же ещё и предлагает отправить пароль («Send Password»). Возможно, это пример упомянутого выше разговорного применения данного термина, поэтому давайте сделаем ещё один шаг и посмотрим, что произойдёт:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Выглядит ненамного лучше, к сожалению; и электронная почта подтверждает наличие проблемы:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Это говорит нам о двух важных аспектах usoutdoor.com:

Перечисление имён пользователей и его влияние на анонимность

Эту проблему лучше проиллюстрировать визуально. Проблема:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Подобные практики также вызывают возникновение опасности «перечисления имён пользователей», при котором можно проверить существование на веб-сайте целой коллекции имён пользователей или адресов почты простыми групповыми запросами и изучением ответов на них. У вас есть список адресов электронной почты всех сотрудников и несколько минут на написание скрипта? Тогда вы видите, в чём проблема!

Какова же альтернатива? На самом деле, она довольно проста, и замечательно реализована на Entropay:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Здесь Entropay совершенно ничего не раскрывает о существовании в своей системе адреса электронной почты тому, кто не владеет этим адресом. Если вы владеете этим адресом и он не существует в системе, то вы получите подобное электронное письмо:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Разумеется, возможны приемлемые ситуации, в которых кто-то думает, что зарегистрировался на веб-сайте. но это не так, или сделал это с другого адреса почты. Показанный выше пример удачно справляется с обеими ситуациями. Очевидно, если адрес совпал, то вы получите письмо, упрощающее сброс пароля.

Тонкость выбранного Entropay решения в том, что проверка идентификации выполняется по электронной почте до любой онлайн-проверки. Некоторые сайты спрашивают у пользователей ответ на секретный вопрос (подробнее об этом ниже) до того, как сможет начаться сброс; однако, проблема этого в том, что нужно ответить на вопрос, предоставив при этом какой-либо вид идентификации (почту или имя пользователя), из-за чего затем почти невозможно ответить интуитивно понятно, не раскрывая существования учётной записи анонимного пользователя.

При таком подходе есть небольшое снижение юзабилити, потому что в случае попытки сброса несуществующего аккаунта нет мгновенной обратной связи. Разумеется, в этом и есть весь смысл отправки электронного письма, но с точки зрения настоящего конечного пользователя, если он введёт неправильный адрес, то впервые узнает об этом только при получении письма. Подобное может вызвать определённую напряжённость с его стороны, но это небольшая плата за столь редкий процесс.

Ещё одно примечание, немного отклоняющееся от темы: функции помощи входу в систему, раскрывающие правильность имени пользователя или адреса электронной почты, обладают той же проблемой. Всегда отвечайте пользователю сообщением «Неправильное сочетание имени пользователя и пароля» (You username and password combination is invalid), а не подтверждайте явным образом существование идентификационной информации (например, «имя пользователя верное, но пароль введён неверно»).

Отправка пароля сброса против отправки URL сброса

Следующая концепция, которую нам нужно обсудить, связана со способом сброса пароля. Существует два популярных решения:

Но кроме этого у первого пункта существует ещё одна серьёзная проблема — он максимально упрощает блокировку учётной записи со злым умыслом. Если я знаю адрес почты того, кто владеет учётной записью на веб-сайте, то я могу заблокировать его в любой момент времени, просто сбросив его пароль; это атака типа «отказ в обслуживании», выложенная на блюдечке с голубой каёмочкой! Именно поэтому сброс должен выполняться только после успешной проверки у запрашивающего права на него.

Когда мы говорим об URL сброса, то подразумеваем адрес веб-сайта, который является уникальным для этого конкретного случая процесса сброса. Разумеется, он должен быть случайным, его не должно быть легко разгадать и он не должен содержать никаких внешних ссылок на учётную запись, упрощающих сброс. Например, URL сброса не должен быть просто путём наподобие «Reset/?username=JohnSmith».

Мы хотим создать уникальный токен, который можно будет отправить по почте как URL сброса, а затем сверить его с записью на сервере с учётной записью пользователя, подтвердив таким образом, что владелец учётной записи и в самом деле тот же самый человек, который пытается сбросить пароль. Например, токен может иметь вид «3ce7854015cd38c862cb9e14a1ae552b» и храниться в таблице вместе с ID пользователя, выполняющего сброс, и временем генерации токена (подробнее об этом чуть ниже). При отправке письма оно содержит URL наподобие «Reset/?id=3ce7854015cd38c862cb9e14a1ae552b», а когда пользователь загружает его, страница запрашивает существование токена, после чего подтверждает информацию пользователя и разрешает изменить пароль.

Разумеется, поскольку описанный выше процесс (будем надеяться) позволяет пользователю создать новый пароль, нужно гарантировать загрузку URL по HTTPS. Нет, передать его POST-запросом по HTTPS недостаточно, этот URL с токеном должны использовать безопасность транспортного слоя, чтобы на форму ввода нового пароля невозможно было совершить атаку MITM и созданный пользователем пароль передавался по защищённому соединению.

Также для URL сброса нужно добавить лимит времени токена, чтобы процесс сброса можно было выполнить в течение определённого интервала, допустим, в пределах часа. Это гарантирует, что окно времени сброса будет минимальным, чтобы получивший этот URL сброса мог действовать только в рамках этого очень маленького окна. Разумеется, нападающий может снова начать процесс сброса, но ему понадобится получить ещё один уникальный URL сброса.

Наконец, нам нужно обеспечить одноразовость этого процесса. После завершения процесса сброса токен необходимо удалить, чтобы URL сброса больше не был работающим. Предыдущий пункт нужен для того, чтобы у нападающего было очень малое окно, в течение которого он может манипулировать URL сброса. Плюс, разумеется, после успешного завершения сброса токен больше не нужен.

Некоторые из этих шагов могут показаться чересчур избыточными, но они совершенно не мешают юзабилити и на самом деле повышают безопасность, хотя и в ситуациях, которые, мы надеемся, будут редкими. В 99% случаев пользователь будет задействовать сброс в течение очень короткого промежутка времени и не будет сбрасывать пароль снова в ближайшем будущем.

Роль CAPTCHA

О, CAPTCHA, средство защиты, которое все мы так любим ненавидеть! На самом деле, CAPTCHA средство не столько защиты, сколько идентификации — человек вы или робот (или автоматизированный скрипт). Её смысл в том, чтобы избежать автоматическую отправку форм, которая, разумеется, может применяться как попытка взлома защиты. В контексте сброса паролей CAPTCHA означает, что функцию сброса невозможно будет взломать грубым перебором, чтобы или потом спамить пользователю, или попытаться определить существование учётных записей (что, разумеется, будет невозможно, если вы следовали советам из раздела о проверке идентификации).

Разумеется, сама по себе CAPTCHA неидеальна; существует множество прецедентов её программного «взлома» и достижения достаточных показателей успеха (60-70%). Кроме того, существует решение, показанное в моём посте о взломе CAPTCHA автоматизированными людьми, при котором можно платить людям доли цента для решения каждой CAPTCHA и получения показателя успеха в 94%. То есть она уязвима, однако (слегка) повышает входной барьер.

Давайте взглянем на пример PayPal:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

В данном случае процесс сброса просто не может начаться до решения CAPTCHA, поэтому теоретически автоматизировать процесс невозможно. Теоретически.

Однако для большинства веб-приложений это будет перебором и совершенно точно представляет собой снижение юзабилити — люди просто не любят CAPTCHA! Кроме того, CAPTCHA — это такая вещь, к которой при необходимости можно будет легко вернуться. Если сервис начинает подвергаться нападению (здесь пригождается логгинг, но подробнее об этом позже), то добавить CAPTCHA легче некуда.

Секретные вопросы и ответы

При всех рассмотренных нами способах мы имели возможность сбросить пароль, всего лишь имея доступ к учётной записи электронной почты. Я говорю «всего лишь», но, разумеется, незаконное получение доступа к чужой учётной записи почты должно быть сложным процессом. Однако это не всегда так.

На самом деле, представленная выше ссылка о взломе учётной записи Сары Пэйлин на Yahoo! служит двум целям; во-первых, она иллюстрирует, насколько легко можно взламывать (некоторые) почтовые аккаунты, во-вторых, она показывает, как можно со злым умыслом использовать плохие секретные вопросы. Но мы вернёмся к этому позже.

Проблема со сбросом паролей со стопроцентной зависимостью от электронной почты заключается в том, что целостность учётной записи сайта, пароль которого вы пытаетесь сбросить, становится стопроцентно зависимым от целостности учётной записи электронной почты. Любой, кто имеет доступ к вашей электронной почте, имеет доступ к любому аккаунту, который можно сбросить простым получением электронного письма. Для таких аккаунтов электронная почта является «ключом от всех дверей» вашей жизни онлайн.

Один из способов снижения этого риска — реализация паттерна секретного вопроса и ответа. Без сомнений, вы уже видели их: выбираете вопрос, на который только вы должны знать ответ, после чего при сбросе пароля вам его задают. Это добавляет уверенности в том, что человек, пытающийся выполнить сброс и в самом деле является владельцем аккаунта.

Вернёмся к Саре Пэйлин: ошибка была в том, что ответы на её секретный вопрос/вопросы легко можно было найти. В частности, когда ты такая значимая общественная фигура, информация о девичьей фамилии матери, истории обучения или о том, где кто-то мог жить в прошлом, не такая уж и секретная. На самом деле, большая её часть может быть найдена практически любым. Так и произошло с Сарой:

Хакер Дэвид Кернелл получил доступ к учётной записи Пэйлин, найдя подробности её биографии, такие как её вуз и дату рождения, а затем использовав функцию восстановления забытых паролей к учётным записям Yahoo!.

В первую очередь это ошибка проектирования со стороны Yahoo! — указав такие простые вопросы, компания по сути саботировала ценность секретного вопроса, а значит, и защиту своей системы. Разумеется, сброс паролей к учётной записи электронной почты всегда сложнее, ведь вы не можете подтвердить её владение, отправив владельцу электронное письмо (не имея второго адреса), но, к счастью, сегодня для создания такой системы не так уж много способов применения.

Вернёмся к секретным вопросам — существует вариант предоставить пользователю возможность создания собственных вопросов. Проблема в том, что в результате будут получаться ужасно очевидные вопросы:

Какого цвета небо?

Вопросы, ставящие людей в неудобное положение, когда для идентификации секретный вопрос использует человек (например, в колл-центре):

С кем я переспал на Рождество?

Или откровенно глупые вопросы:

Как пишется «пароль»?

Когда дело касается секретных вопросов, пользователей нужно спасти от самих себя! Другими словами, секретный вопрос должен определять сам сайт, а ещё лучше, задавать серию секретных вопросов, из которых может выбирать пользователь. И не просто выбирать один; в идеале пользователь должен выбрать два или более секретных вопросов в момент регистрации аккаунта, которые затем будут использоваться как второй канал идентификации. Наличие нескольких вопросов повышает степень уверенности в процессе проверки, а также даёт возможность добавления случайности (не всегда показывать одинаковый вопрос), плюс обеспечивает немного избыточности на случай, если настоящий пользователь забыл пароль.

Каким же должен быть хороший секретный вопрос? На это влияет несколько факторов:

Позвольте мне продемонстрировать, как секретные вопросы реализованы в PayPal и, в частности, какие усилия сайт прикладывает для идентификации. Выше мы видели страницу начала процесса (с CAPTCHA), а здесь мы покажем, что происходит после того, как вы вводите адрес почты и решаете CAPTCHA:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

В результате пользователь получает такое письмо:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Пока всё вполне обычно, но вот что скрывается за этим URL сброса:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Итак, в дело вступают секретные вопросы. На самом деле, PayPal также позволяет сбросить пароль, подтвердив номер кредитной карты, поэтому существует дополнительный канал, к которому не имеют доступа множество сайтов. Я просто не могу изменить пароль, не ответив на оба секретных вопроса (или не зная номер карты). Даже если кто-то захватит мою электронную почту, он не сможет сбросить пароль учётной записи PayPal, если не знает обо мне чуть больше личной информации. Какой информации? Вот варианты секретных вопросов, предлагаемые PayPal:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Вопрос о школе и больнице может быть слегка сомнительным с точки зрения простоты поиска, но остальные не так плохи. Однако для повышения безопасности PayPal требует дополнительной идентификации для изменения ответов на секретные вопросы:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

PayPal — довольно утопический пример безопасного сброса пароля: он реализует CAPTCHA для снижения опасности грубого перебора, требует два секретных вопроса, а затем требует ещё один вид совершенно другой идентификации только для смены ответов — и это после того, как пользователь уже выполнил вход. Разумеется именно этого мы и ожидали бы от PayPal; это финансовая организация, работающая с большими суммами денег. Это не означает, что каждый сброс пароля должен следовать этим этапам — в большинстве случаев это перебор — однако это хороший пример для случаев, когда безопасность — серьёзный бизнес.

Удобство системы секретных вопросов в том, что если вы не реализовали её сразу, то её можно добавить позже, если этого требует уровень защиты ресурса. Хорошим примером этого служит Apple, только недавно реализовавшая этот механизм [статья написана в 2012 году]. Начав однажды обновлять приложение на iPad, я увидел следующий запрос:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Затем я увидел экран, на котором можно было выбрать несколько пар секретных вопросов и ответов, а также спасательный адрес электронной почты:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Что касается PayPal, то вопросы выбраны заранее и некоторые из них на самом деле довольно неплохи:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Каждая из трёх пар вопросов и ответов представляет отдельное множество возможных вопросов, поэтому существует достаточное количество способов конфигурирования учётной записи.

Ещё одним аспектом, который нужно рассмотреть относительно ответа на секретный вопрос, является хранение. Нахождение в ДБ простого текста представляет почти те же угрозы, что и в случае пароля, а именно — раскрытие базы данных мгновенно раскрывает значение и подвергает риску не только приложение, но и потенциально совершенно другие приложения, использующие те же секретные вопросы (это снова вопрос ягод асаи). Одним из вариантов является безопасное хэширование (стойкий алгоритм и криптографически случайная соль), однако в отличие от большинства случаев хранения паролей, здесь может быть уважительная причина видимости ответа как простого текста. Типичным сценарием является проверка личности живым оператором по телефону. Разумеется, в этом случае хэширование тоже применимо (оператор может просто ввести названный клиентом ответ), но в самом худшем случае секретный ответ должен находиться на каком-нибудь уровне криптографического хранилища, даже если это просто симметричное шифрование. Подведём итог: обращайтесь с секретами как с секретами!

И последний аспект секретных вопросов и ответов — они более уязвимы для социального инжиниринга. Пытаться напрямую выпытывать пароль к чужому аккаунту — это одно дело, а завязать разговор о его образовании (популярный секретный вопрос) — совершенно другое. На самом деле, вы вполне реально можете общаться с кем-то о многих аспектах его жизни, которые могут представлять секретный вопрос, и не вызывать при этом подозрений. Разумеется, сама суть секретного вопроса в том, что он связан с чьим-то жизненным опытом, поэтому он запоминается, и именно в этом заключается проблема — люди любят рассказывать о своём жизненном опыте! С этим мало что можно поделать, только если выбрать такие варианты секретных вопросов, чтобы их с меньшей вероятностью можно было бы вытянуть социальным инжинирингом.

На правах рекламы

VDSina предлагает надёжные серверы с посуточной оплатой, каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!

Источник

Russian Moodle

Технические вопросы

Сбросить(Обнуление) результаты теста

Сбросить(Обнуление) результаты теста

Столкнулся с проблемой. Когда у теста задано количество попыток(например, 1) и пользователь использовал попытку, то снятие с курса и повторное назначение на курс не помогает в обнулении результатов теста.

Мне нужно, чтобы пользователь заново прошел тест. Т.е. обнулить его предыдущие попытки и дать ему заново пройти тест.

Подскажите, пожалуйста, уважаемые разработчики, каким методом web services это можно сделать?

Re: Сбросить(Обнуление) результаты теста

Верно, т. к. Мудл хранит историю тестирования, оценок и т. д.

Есть несколько способов добавления попыток тестирования (см. рис.):

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Все описанные настройки находятся в блоке «Настройки» (в левой части страницы) в разделе «Управление тестом». Этот раздел появится в блоке после того, как Вы зайдете в какой-то тест (т. е., на главной странице курса кликнете по ссылке любого теста).

Re: Сбросить(Обнуление) результаты теста

Вадим, спасибо большое за ответ! Вы прислали не то,что нужно мне.

Мне нужно ИМЕННО обнуление попыток через web services API. Все должно быть автоматически, т.к. я делаю интеграцию своего приложения с Moodle.

Увеличение попыток не подходит, т.к. тогда метод core_grades_get_grades() будет возвращать список максимальной оценки за все попытки тестирования для одного пользователя.

Мне нужно получить одним REST-запросом оценки по последней попытке для всех пользователей данного теста.

Для этого я ограничил количество попыток = 1 и хочу просто сбрасывать попытки, после сдачи теста.

Re: Сбросить(Обнуление) результаты теста

Источник

Moodle

Все задачи были решены. В процессе работы с Moodle я документировал чисто для себя некоторые тонкие или сложные моменты в своем органайзере. На настоящем этапе решил выгрузить свои записи в html и представить общественности после некоторой очистки текста от конфиденциальной информации. Повествование идет от имени Администратора системы, о чем надо помнить пользователям в роли Учитель, у которых нет всех административных прав.

Анатолий Опарин, ноябрь 2019

Общая информация

Онлайн-система обучения и тестирования пользователей. Доступ в систему осуществляется вследствие регистрации и авторизации. Есть гостевой вход на уровне курса для просмотра материалов без возможности участия в тестах и опросах. Права пользователей зависят от роли.

Функциональные возможности роли могут быть отредактированы Администратором.

Оценка за прохождение заданий может выставляться учителем или автоматически, или учителем в зависимости от элемента теста или настроек в задании. Ведется статистика оценок каждого ученика.

Хороший учебник по Moodle: https://lms-3.kantiana.ru/course/view.php?id=10#section-1
На момент начала моей практике с Moodle этот учебник был открыт для гостевого доступа и я оттуда успел нахватать некоторые полезные сведения. Но на момент формирования этой страницы курс учебника был закрыт, поэтому мой текст ниже приобретает дополнительную ценность.

Локально

Запускается файлом Start Moodle.exe. При первом запуске происходит процесс установки и настройки. Это диалог.
Остановка веб-сервера и Moodle осуществляется файлом Stop Moodle.exe.

Добавление студентов на курс
В сайдбаре пункт «Участники».

Файлы
Чтобы обновить существующий файл в курсе надо:
Редактировать > Редактировать настройки > Добавить > Загрузить новую версию > Дать файлу то же самое Название.

Резервная копия
Зайти на курс > Шестеренка > Резервное копирование > поставить галочки, что копировать (совет: НЕ КОПИРОВАТЬ УЧАСТНИКОВ, если переносите курс на другую систему с другими участниками) > [Перейти к заверш. этапу] > будет создана копия курса в формате mbz.
Потом курс можно восстановить из архива Moodle: Шестеренка > Восстановить.
Если курс Скачать на свой диск, то потом тоже можно через Шестеренка > Восстановить > выбрать с диска файл > в настройках НЕ ВКЛЮЧАТЬ ПОЛЬЗОВАТЕЛЕЙ если перенос идет на другой сайт.
Если же включать, но при Резервном копировании были поставлены галочки ОБЕЗЛИЧИТЬ ПОЛЬЗОВАТЕЛЕЙ и ВКЛЮЧАТЬ ИСТОРИЮ ОЦЕНОК, то при Восстановлении на новом месте будут сохранены результаты тестов, а имена и фамилии пользователей будут типа anonfirstname3 и anonlastname3. А электронная почта пользователя будет выглядеть так: anon11@doesntexist.invalid
На странице управления резервными копиями в интерфейсе Moodle будет разделение бэкапов на те, которые выполнены с установками по умолчанию, и те, которые выполнены с обезличенными пользовательскими данными.

Удалить курс
Администрирование > Курсы > Управление курсами и категориями. Выбрать категорию слева, курсы будут справа и нажать ведёрко.

Есть банк вопросов. Его можно создать заранее, а можно в процессе редактирования теста.

Тест
Если в тесте уже есть попытки его прохождения (учитываются попытки всех ролей кроме Админа), то вопросы добавить нельзя. Надо сначала удалить все попытки, а потом уж в режиме редактирования теста в него добавлять еще вопросы:
Меню теста (Шестеренка) > Оценки > отметить галочками все попытки > [Удалить выбранные попытки]

Во время создания и/или редактирования вопроса с множественным выбором следить за тем, чтобы сумма правильных ответов составляла 100%, а сумма штрафов за неправильные позиции (оценка со знаком минус) также составляла 100%.

В режиме редактирования теста следить за «Максимальной оценкой», чтобы она была равны сумме баллов по вопросам (на самом деле не обязательно, т.к. в статистике все высчитывается пропорционально и в % тоже). Как добраться: зайти в Тест > Шестеренка > Редактировать тест (не «Редактировать настройки»). Там же можно и вопросы отредактировать.

Отзыв
Это характеристика пользователя в зависимости от результатов попытки теста. Она дается в настройках теста в разделе «Итоговый отзыв». Задать несколько границ оценки можно по кнопке [Добавить три поля отзывов] и полях «Граница оценки» вписывать границы в процентах, например «80%».

Незавершенный тест
Прохождение теста можно завершить на середине. Для этого на очередном вопросе надо нажать [Закончить попытку] вверху справа.
После этого будет выведен список вопросов по номерам с указанием состояния (Ответ сохранен / Пока нет ответа) и внизу две кнопки [Вернуться к попытке] и [Отправить всё и завершить тест]. Если же просто уйти с этой страницы, то потом при заходе на тест будет уже выведено не [Начать тест], а [Продолжить последнюю попытку].

Выполнено
Чтобы тест автоматически переходил для студента в статус завершенного надо в настройках теста:
— Оценка > Проходной балл > Поставить тот балл, который удовлетворит учителя, и студенту можно ставить зачет за тест (этот балл не должен превышать максимальную оценку за тест;
— Выполнение элемента курса > выбрать «Отображать элемент курса как выполненный при выполнении условий» > галка «Требуется оценка» > галка «Требуется проходной балл».

Статистика
Собственное прохождение теста в роли «Администратор» в статистику не попадает.

Выбор пропущенных слов

Тип вопроса теста «Выбор пропущенных слов» таит несколько подводных камней.
Как правильно формировать список слов для нескольких селектов:

Перетащить на изображение

Тип вопроса теста «Перетащить на изображение».

Рандомные вопросы теста

Если добавлять вопросы по пункту «+ случайный вопрос», то это значит, что на этом месте будет стоять генератор случайного вопроса и при каждом новом запуске теста вопрос будет выбираться случайно из той категории, откуда прилетела задача случайного вопроса. Это значит, что сам вопрос выбирается случайно для каждой попытки, но место для него остается постоянно.

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

Надеюсь на сознательность Moodle в том, чтобы не плодить дубли вопросов в одном тесте.

Перенос теста в другой курс

Задача: Переместить тест со всеми вопросами в другой курс.

Экспортируются все вопросы категории курса или избранной категории. Если игнорировать категорию, то потом, например, в XML файле приходится удалять все вопросы, не относящиеся к моему тесту. Если не сделать это на локальном компе, то можно потом удалить лишние вопросы в Мудл.

Статистика

Тест > Шестеренка > Статистика > можно посмотреть вопросы, которые вызвали наибольшее затруднение.

Не забыть в выпадающем списке вверху «Рассчитать статистику» выбрать «все попытки».

Форум

Элемент «Форум» позволяет создавать ветки для обсуждения различных тем курса.
По умолчанию писать в Форум могут Админы и Учителя. Чтобы не только смотреть, но и писать мог Студент, надо ему локально (только для Форума) дать права Учителя, для чего:
Форум > Редактировать > Назначить роли > Учитель > перетащить студентов, подписанных на курс, из правого окна в левый.
Элемент удобен для создания коллекции статейных материалов.

Лекция

Это элемент, который добавляется в курс.

Его идеология такова, что создаются СТРАНИЦЫ, в которых:

Страницы могут быть разного типа.
Добавляются новые страницы на закладке «Редактировать» данной Лекции.

Есть тип страницы «Добавить страницу с вопросом». Ответы к вопросам чувствительны к регистру. Поэтому к вопросу лучше прилагать список возможных ответов.

Итого, типы страниц:

При оценке занятия за правильный ответ принимается переход на страницу, расположенную ниже по логическому порядку, чем текущая страница. За неправильный ответ принимается тот, который приводит к переходу либо на текущую страницу, либо выше по логическому порядку, чем текущая страница. Если переходы не изменены, то за правильный принимается первый ответ из набора, остальные ответы считаются неправильными.
Вопросы могут иметь более одного правильного ответа. К примеру, если два из ответов имеют переход на следующую страницу, оба из них считаются правильными.

Запись на курс

Есть три типа записи на курс:

Настройки этих типов: выбрать Курс > Участники > Шестеренка > Способы зачисления на курс.
(Если способ «Зачисление вручную» не назначить, то не будет кнопки «Запись пользователей на курс»!)

Если Самостоятельная запись и Гостевой доступ открыты, то при заходе в систему Студент пока не видит нужный курс в разделе «Мои курсы». Надо зайти на «Домашнюю страницу» > кликнуть на нужный курс > кликнуть [Записаться на курс] или ввести пароль доступа. После этого Студент будет записан, курс появится в разделе сайдбара «Мои курсы» и он сможет проходить тесты.

Если нет кнопки [Записаться на курс], а есть материалы и тесты (а тест пройти не удается), то на странице курса нажать на шестерёнку вверху справа и кликнуть «Записаться на курс», потом на кнопку [Записаться на курс].

Если на курс открыт Гостевой доступ, то без записи на курс Студент может только смотреть материалы и список тестов, а проходить тесты не может.

Если на курс открыт Гостевой доступ и Самостоятельная запись, то Самостоятельная запись не срабатывает. Так что, вроде бы, нет смысла делать для курса эти два способа одновременно.

iframe

Чтобы страница была видна всем(!) надо ее расположить в курсе, который открыт для всех.

Непонятности

Добавление пользователя
Если юзер добавлялся пакетно по шаблону, без пароля, по LDAP, то всё в порядке.
Если добавился вручную по LDAP, то что-то не то. Юзер потом не может войти. Возможно, при ручном добавлении пароль какой-то не тот прописывается. Тогда юзера удалил и он вошел нормально с нуля благодаря AD записи.

Запись на курс по паролю
Не получается проходить тест после гостевой записи на курс по паролю. В то время, как другие материалы курса по паролю открываются.
Возможно, надо убрать гостевой доступ. Что-то эти два способа записи не дружат.

Поиск
Если создаю блок «Глобальный поиск» на «Домашняя страница», то он не распространяется на дочерние страницы даже если в настройках блока указать «Отображать на главной странице и на всех страницах, добавленных к главной».

Темы
На локале скачал и установил новую тему (положил папку темы adaptable в папку \Moodle\server\moodle\theme\ и потом Обновил Moodle, т.к. он сам попросил).
Попользовался. Не очень понравилось. Через «Администрирование > Внешний вид > Темы > Выбор темы» восстановил тему boost для всех трех устройств (Legacy, Mobile, Tablet).
Но перехода на boost не произошло.
Тогда удалил папку adaptable и Moodle захотел снова обновиться. Обновился успешно с восстановлением старой темы.

Тип теста «Выбор пропущенных слов»
Без бутылки не разобраться.
Не получается сразу въехать в логику формирования групп слов. Решение читай тут.

Автосвязывание
По глоссарию разобрался. Но есть, оказывается, автосвязывание по названию элемента «Файл». Например. Добавил файл-элемент «Кроссворд» в курс «Логистика». Теперь в текстах вопросов текста слово «кроссворд» стало гиперссылкой на этот элемент.

Открыть тест для всех без регистрации
Нашел вариант на https://moodle.org/mod/forum/discuss.php?d=97418 (зайти гостем). Цитирую:
Решил пока ничего нового не писать, а воспользоваться модулем «Lesson».
Он позволяет брать тестовые задания из базы (правда через импорт/экспорт) и тестироваться любому гостю бесконечное количество раз.
Сделал курс доступный для гостя и включил опцию автовхода для гостей. При входе в курс посетитель сразу становится гостем, может читать какую-нибудь информацию и проходить тест в форме Урока. В конце урока он видит свой результат, да и при выполнении наблюдает за реакцией на свои ответы и прогресс.
Проблемы возможно будут при одновременном заходе нескольких гостей грущу. И еще вылазит надпись, предлагающая начать с прошлой карточки, но это можно вылечить.

HTML-проект

Есть возможность засунуть в Moodle не один файл, а несколько, с виде web-приложения, например:

Чтобы можно было загружать zip надо:
Администрирование > Внешний вид > Курсы > Расширения файлов описания курса (courseoverviewfilesext)
(тут же, кстати, убрать/поставить отображения Учителя, Создателя на курс на Дом.странице)

Список тэгов:
Администрирование > Внешний вид > Управление тэгами > Коллекция по умолчанию.
Также элементы, которые можно обогащать тэгами, имеют ссылку «Управлять стандартными тэгами».
Потом тэги можно вывести в виде виджета (Добавить блок) на страницы курса.
Тэги можно формировать в коллекции.

Попробовал дать тэг вопросу из теста:

Глоссарий

Автосвязывание

Импорт

Глоссарий можно создавать путем импорта, а не по одной словарной статье.

Сначала сделать Экспорт, изучить структуру XML файла, сделать так же для нового (или обновленного) глоссария и импортировать этот файл. Экспорт и импорт глоссария делается на странице глоссария по Шестеренке.

Замены перед Импортом:
— не забывай о правилах XML, например, простые кавычки надо писать "
.

Поиск

(1) сайдбар «Администрирование» > кнопка вверху справа [Включить редактирование блоков] > внизу сайдбара появится пункт «Добавить блок» > перейти на страницу курса > нажать «Добавить блок» > выбрать «Глобальный поиск» > блок появится, например, вверху справа > Шестеренка у блока > (дальше как-то нечеток результат) > выбрать пункт «Настроить блок Глобальный поиск» > в «Контекст страницы» выбрать «Отображать на главной странице и на всех страницах, добавленных к главной» > [Сохранить].

Это еще не всё. Блок-то появится и кнопку [Поиск] нажать будет можно, но результаты поиска будут пустыми.

(2) сайдбар «Администрирование» > Расширенные возможности > галочка «Включить глобальный поиск».
После этого, кстати, появится и поле поиска в шапке сайта.

Блоки

Это по сути виджеты, которые можно выводить на разных страницах сайта.
Чтобы увидеть в левом сайдбаре пункт [Добавить блок] надо:
Администрирование > вверху справа [Включить редактирование блоков].

Т.о., в режиме редактирования можно добавлять блоки на многие страницы (не на все) в виде виджетов.

Ареал обитания блока

Местоположения блока зависит от 1) Для какой стр. его первый раз создали; 2) Как настроен параметр «Ограничить этими типами страниц».
1) Если блок создать на стр. «Домашняя страница», тогда в настройках неизменяемый параметр «Первоначальное расположение блока» будет выставлен в «Система». Если же создать блок сначала на стр. «Личный кабинет», то параметр «Первоначальное расположение блока» будет выставлен в «Пользователь: ‹имя_пользователя>». Это полезно только для отдельного юзера.
2) Чтобы блок распространялся только на страницах какого-либо курса, то надо его создать на первой стр. курса и параметр параметр «Ограничить этими типами страниц» выставить в «Любая страница».
Чтобы блок распространился по всем возможным страницам сайта, надо его создать на «Домашняя страница» и параметр параметр «Ограничить этими типами страниц» выставить в «Отображать на всём сайте».

Настройка блоков в «Личных кабинетов» всех юзеров

Нужно быть Администратором, чтобы настроить личный кабинет для всех пользователей: «Администрирование > Внешний вид > Настройки по умолчанию для страницы «Личный кабинет»«. Тут добавляете нужный блок и он будет показан всем пользователям.
Потом надо нажать кнопку «Сбросить страницу ‘Личный кабинет’ для всех пользователей», чтобы настройки вступили в силу у всех.

Текстовые блоки можно оформлять стилями. Например,

Курс состоит из заданий, которые предназначаются для обучения, тренировки и тестирования сотрудников службы документооборота.

Но, если я захожу в Moodle из своего Административного аккаунта под чужим(!) аккаунтом, то clip-path: теряется. Если под своим Студент(!), то не теряется. Если другой пользователь, не Админ, заходит самостоятельно под своими логином/паролем, то всё нормально видно.

Страницы

Страница, на которую попадает незарегистрированный пользователь по умолчанию
Ее настройка: Администрирование > Настройки главной страницы.
Здесь задается название всему проекту и блоки, которые отображаются на этой странице. Еще кол-во курсов, кол-во отображаемых объявлений.

Домашняя страница
Домашняя страница > Шестеренка > Редактировать настройки.

Пользователи

Пакетное добавление пользователей

Добавление списка пользователей
Подготовить файл по шаблону: username;password;firstname;lastname;email
Поле пароля оставить пустым, например:

При LDAP в БД Moodle пароли не хранятся, а при каждом заходе подтягиваются из AD только для аутентификации.

Если у юзера username совпадает, а email не совпадает, то такой юзер по формату «lastname;firstname;username;email;password» добавлен не будет.
При добавлении списка из AD надо выбирать способ аутентификации LDAP (там в дополнительных параметрах импорта).
Пароль у юзеров в файле оставлять пустой, но в шапке это поле должно присутствовать.

Добавление фоток
Администрирование > Пользователи > Загрузить изображения пользователей.
Все фотки пользователей надо переименовать в username (согласно AD), например, pbogdanov.jpg и засунуть в ZIP файл.
Фотки Мудл засовывает в круг, поэтому желательно, чтобы рожа на фото была посередине.

Синхнонизация с AD

Администрирование > Плагины > Аутентификация > LDAP server (Sync Plus)
Здесь очень много настроек.
Есть подраздел «Синхронизация учетных записей пользователей».
В этом подразделе есть параметр «При удалении пользователя во внешнем источнике», благодаря которому можно назначить удаление пользователя Moodle после его удаления в AD. Сейчас этот параметр выставлен в значение «Сохранять внутреннюю учетную запись», т.е. удаление не синхронизировано.
В этом подразделе есть параметр «Add new users». Если этот параметр включен (по умолчанию), сценарий синхронизации создаст учетные записи Moodle для всех пользователей LDAP, если они никогда ранее не входили в Moodle. Если этот параметр отключен, сценарий синхронизации не будет создавать учетные записи Moodle для всех пользователей LDAP. У нас включен, но пользователи автоматически не созданы. Видимо, потому что надо запускать скрипт синхронизации (читай ниже).

Для запуска скрипта коллегами из интернета предлагается такая команда:
/usr/bin/php /path/to/moodle/auth/db/cli/sync_users.php >dev/null

Назначить другую роль пользователю в рамках курса
Курс > Участники > в строке пользователя в столбце «Роли» кликнуть на карандаш > выбрать другую роль
или если надо сразу много:
Карточка любого пользователя курса > Настройки > Роли, назначенные этому пользователю > Шестеренка > внизу выбрать нужную роль > в правом окне выделить (найти по поиску, если списка нет) юзера > перебросить его в левое окно (и так по каждому).

Группы

Есть Глобальные группы (Администрирование > Пользователи > Учетные записи > Глобальные группы), а есть группы Курсов (Курс > Шестеренка > Больше > Пользователи > Группы).

После создания группы курса можно добавлять участников по группам, а не по отдельности.

Тонкости

SVG
После включения svg в список кошерных файлов появилась возможность их добавлять в оформление страниц.
Я вижу, НО Студенты не видят. Пути файлов идут через php и юзера почему-то: http://moodle/draftfile.php/35/user/draft/842136472/Folder_with_docs.svg
Причина: я взял этот путь из окна добавления файла, чтобы потом его вставить при html-редактировании. Если же вставить обычно, сохранить страницу и при парадном просмотре скопировать путь к файлу, то будет все ок, потому что путь будет уже другим:
http://moodle/pluginfile.php/221/course/section/28/Folder_with_docs.svg

Локализация
Надписи на русском от Moodle вы можете переформулировать. Для этого надо провести две цепочки действий:
Администрирование > Язык > Локальные изменения языкового пакета > Выбрать "Русский" > [Загрузить языковый пакет в редактор] > долго грузится > [Продолжить] > в поле "Выводить строки из следующих компонентов системы" выбрать все строки с помощью кл. Shift (если не знаете точно где искать) > в поле "Только строки, содержащие" вбить свой контент > [Отобразить строки] > внести свой вариант перевода > [Записать изменения в языковый пакет]
Сразу изменения не увидите, т.к., старые данные закэшированы системой. Поэтому, вторая цепочка:
Администрирование > Разработка > Очистить кэш > [Очистить все кэши]

Бэкапы

2. Экспортируется весь банк вопросов курса. На практике несколько надежней, чем Резервное копирование. Сохраняется сразу на локальный диск (например, в XML), в системе не хранятся. Экспортируются сразу все вопросы курсы из разных тестов. После импорта требуется снова создать тесты и нафаршировать их вопросами из банка. Это недолго.

Если требуется просто перенести тест в другой курс, то см. инструкцию.

Администрирование > Внешний вид > Туры для пользователей.

Здесь два предустановленных тура на английском, которые могут быть переопределены во время обновления сайта (видимо, из-за того, что Заголовок и Содержимое в шагах представлены переменными).

Туры можно создавать, редактировать, экспорт/импорт, скрывать, удалять, менять приоритет показа.

Если url туров совпадают или имеют общее начало, то на странице будет показываться тот тур, который вверху.

В настройках тура есть параметр «Отображать цель, если не найдена». Это значит, что название шага и описание шага будет отображаться с центре страницы. При отключенном этом параметре шага просто не будет.

Я скрыл (глаз) туры на английском по умолчанию, чтобы не мешались.

При заходе нового пользователя на какой-то курс ему тур будет подсунут автоматически (если тур создан для курсов). Потом этот тур не будет досаждать пользователю сам, но его можно запустить вручную по ссылке из футера «Сбросить тур для пользователя на этой странице».

Правки формата даты для разных мест в Moodle производятся в файле \moodledata\lang\ru\langconfig.php

Например, если заменить строку
$string['strftimedaydatetime'] = '%A, %d %b %Y, %H:%M';
на строку
$string['strftimedaydatetime'] = '%d.%m.%Y';

То в отчете по какому-нибудь опросу формат даты
Monday, 2 December 2019, 12:14
который избыточен, изменится на
02.12.2019
что компактней и при выгрузке отчета в Excel данными станет легко манипулировать для фильтрации и ранжирования по дате.

Обратите внимание, что после внесения изменений в langconfig.php надо очистить кеш в Moodle, иначе изменения формата видно не будет. Но это делается уже в веб интерфейсе:
Администрирование > Разработка > Очистить кеши > Отметить "Языковые строки" > [Очистить выбранные кеши]

Плагины

Плагины расширяют функциональные возможности существующей системы. Для Moodle их написано много, они додразделяются на классы в зависимости от того, для какого модуля написаны: элемент курса, тип вопроса теста, тема. Плагин можно загрузить с сайта в виде zip-файла. Потом его установить через админку Администрирование > Плагины > Установка плагинов или разархивировать прямо в нужную директорию на сервере (для каждого класса своя директория). Предпочтительно устанавливать через админку, т.к., потом деинсталлировать также будет позволено через админку. В противном случае админке может быть не позволено удалить папку плагина, если папка будет скопирована на сервер с более жесткими правами, чем имеет админ Moodle.

Ordering

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Freehanddrawing

Это тоже тип вопроса для теста. Работает так: загружается картинка-фон (любая). Учителем рисуется образцовая фигура (в вопросе не видна). Студенту в тесте предлагается нарисовать что-то на фоновой картинке. Плагин потом подсчитывает процент совпадения рисунка студента с рисунком учителя. Пример вопроса:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Оформление темы

Можно кое-что подправлять из админки. Например, для темы по умолчанию Boost:

Тут можно вставить фоновое изображение (theme_boost) для фона центральной области (блоки с контентом остаются белыми).
Корпоративный цвет: ссылки, фон для кнопок. Если задать цвет в hex, например, #996633 в поле под цветовой шкалой (Цвет выделения) и сохранить, то изменения вступят в силу через секунд 10. Цвет для hover ссылки назначится автоматически.

Если перейти на закладку «Расширенные настройки», то там можно вставить код scss и поле «Завершающий SCSS. Например:

Вот как выглядит эта будоражущая цветовая палитра переназначенной темы Boosт согласно вышеприведенному коду:

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит

Отобразить PDF на странице

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

сбросить тур для пользователя на этой странице что это значит. Смотреть фото сбросить тур для пользователя на этой странице что это значит. Смотреть картинку сбросить тур для пользователя на этой странице что это значит. Картинка про сбросить тур для пользователя на этой странице что это значит. Фото сбросить тур для пользователя на этой странице что это значит