Windows

Как заставить работать атрибут required для input в старых версиях IE? HTML5 и его атрибуты для проверки формы Как убрать форму базовой HTTP-аутентификации

Posted October 23rd at 11:15pm.

Использование подтверждения имени пользователя для повышения уровня безопасности учетной записи

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

  • Вниманию игроков в FIFA: данная функция необходима для доступа к серверам FIFA Ultimate Team и партнерским приложениям.

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


Включение подтверждения имени пользователя

1. Зайдите на ea.com и выполните вход.

2. Нажмите на ваше имя пользователя, затем выберите пункт «Моя учетная запись».

3. Выберите вкладку «Безопасность», где вы сможете найти раздел «Подтверждение имени пользователя».

4. Нажмите «Включить» для активации функции подтверждения имени пользователя, введите ответ на контрольный вопрос и выберите один из вариантов: электронная почта, приложение для идентификации или SMS для получения кода подтверждения.

  • Если вы выберете опцию «Электронная почта», а не SMS, удостоверьтесь, что указанный для учетной записи адрес электронной почты - это действительный и работающий адрес, который вы регулярно проверяете на наличие новых сообщений.
  • Приложение для идентификации для планшета и мобильного телефона позволяет генерировать на этих устройствах коды подтверждения для входа в учетную запись.
  • Выберите тип устройства из выпадающего списка и загрузите Google Authenticator для устройств на базе Apple и Android или Authenticator для устройств, использующих операционную систему Windows.
  • Игрокам в FIFA 15 на PlayStation 3 и Xbox 360 не понадобится предпринимать дополнительные меры безопасности при подтверждении имени пользователя с приложением для идентификации.

5. Теперь вы будете получать код подтверждения при попытке входа с неизвестного устройства. Каждые 90 дней вы будете получать код подтверждения при входе в учетную запись с доверенных устройств. Таким образом, только вы с помощью уникального кода сможете получить доступ к вашей учетной записи EA.


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

Примечание

  • *Не отключайте подтверждение имени пользователя, если вы играете в FIFA Ultimate Team, иначе вам будет отказано в доступе.
  • Убедитесь, что вы также создали и подтвердили секретный вопрос и ответ на него для игры FIFA Ultimate Team.

Настройте приложение для идентификации

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

1. Откройте вкладку «Безопасность» на странице «Моя учетная запись» и найдите раздел «Подтверждение имени пользователя».

2. Нажмите «Включить», чтобы включить систему «Подтверждение имени пользователя», ответьте на контрольный вопрос, выберите «Приложение для идентификации» и нажмите «Продолжить».

3. Выберите в выпадающем списке нужную вам операционную систему телефона и просканируйте QR-код с помощью приложения для чтения штрихкодов или найдите в магазине приложений для вашего телефона по запросу authenticator соответствующее приложение: Google Authenticator на Android и iOS или Authenticator на Windows Phone.

4. Откройте приложение для идентификации и выберите пункт добавить учетную запись вручную.

5. Просканируйте QR-код или введите секретный код, чтобы связать приложение для идентификации с учетной записью EA.

6. Закончите настройку приложения для идентификации, указав сгенерированный им для учетной записи Electronic Arts код и нажав «Включить подтверждение имени пользователя».

Когда вам понадобится подтвердить имя пользователя в будущем:

1. Откройте приложение для идентификации.

2. Введите шестизначный код для учетной записи Electronic Arts.

Сгенерированный код действителен в течение ограниченного времени. Если время действия текущего кода уже истекает, подождите, пока приложение сгенерирует новый код, чтобы у вас было достаточно времени на его ввод.

Что делать, если у меня нет возможности воспользоваться мобильным телефоном или электронной почтой, когда мне нужен код? Можно ли сгенерировать вспомогательные коды?

Если ваш телефон, идентификатор или электронный ящик не доступны для вас, единственный способ войти в учетную запись EA с неизвестного компьютера - использование вспомогательных кодов. Убедитесь, что храните их в надежном и доступном для вас месте. Вы можете просматривать и обновлять данные коды в учетной записи EA в разделе «Настройки конфиденциальности» клиента Origin или в режиме онлайн.

  • Нажмите на пункт «Безопасность», затем «Просмотр» и «Вспомогательные коды».*
  • Вы также можете воспользоваться функцией «Запрос нового кода после входа в FIFA Ultimate Team».

*Если у вас закончились вспомогательные коды, вы можете сгенерировать новые на странице «Управление учетной записью».

Подтвердите контактную информацию, чтобы убедиться в верности кода.

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

  • Если при активации подтверждения имени пользователя вы выбрали опцию отправки кода на почту, то можете проверить и обновить свой адрес электронной почты в разделе «Обо мне» на странице «Управления учетной записью» или через клиент Origin.
  • Если вы выбрали «Приложение для идентификации», вы можете воспользоваться штрихкодом или QR-кодом для сканирования и поиска кода между?secret= и &.
  • Если при активации подтверждения имени пользователя вы выбрали опцию отправки кода по SMS , то можете проверить и обновить свой номер телефона в разделе «Безопасность» на странице управления учетной записью или через клиент Origin.
  • Создать или подтвердить секретный вопрос и ответ.

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

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

Все вместе это и формирует полное именование версии (Major.Minor.Pathch.Build):

Некоторые используют в качестве build уникальное числовое значение, которое увеличивается каждый раз, например, при ночной сборке. Я считаю, что никакого смысла в этом нет – гораздо удобнее привязать данный номер к ревизии в репозитории. Я использую Subversion и CMake, поэтому продемонстрирую как можно автоматизировать проставлении версии билда с этими инструментами.

Первое – необходимо добавить заголовочный файл в проект (например, version.h):

#include #include namespace Version { const std:: string & AsText() ; boost:: uint64_t AsNumber() ; }

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

Теперь приведу содержимое version.cpp:

#include #include "../version.h" namespace { const boost:: uint8_t MAJOR = 4 ; const boost:: uint16_t MINOR = 6 ; const boost:: uint16_t PATCH = 12 ; const boost:: uint32_t BUILD = 589 ; // Это значение будет изменено автоматически } const std:: string & Version:: AsText () { static const std:: string text = boost:: str (boost:: format ("%1%.%2%.%3%.%4%" ) % static_cast < unsigned > (MAJOR) % MINOR % PATCH % BUILD) ; return text; } boost:: uint64_t Version:: AsNumber () { BOOST_STATIC_ASSERT(BUILD < 0xFFFFFF ) ; using namespace boost; const size_t size = sizeof (uint64_t ) ; static const boost:: uint64_t number = (static_cast < uint64_t > (MAJOR) << (size - sizeof (MAJOR) ) * 8 ) | (static_cast < uint64_t > (MINOR) << (size - sizeof (MAJOR) - sizeof (MINOR) ) * 8 ) | (static_cast < uint64_t > (PATCH) << (size - sizeof (MAJOR) - sizeof (MINOR) - sizeof (PATCH) ) * 8 ) | BUILD; return number; }

Здесь все тривиально и, думаю, не требует комментариев. Последнее, что осталось – механизм изменения значения BUILD, на номер ревизии в репозитории. С этим отлично справится CMake, просто добавьте в CMakeLists.txt следующий код:

set (VERSION_FILE ../ common/ sources/ version.cpp) find_package (Subversion REQUIRED) Subversion_WC_INFO (${PROJECT_SOURCE_DIR} Repo) file (READ ${VERSION_FILE} OLD_CODE) foreach (LINE ${OLD_CODE} ) string (REGEX MATCH "BUILD = (+)" BUILD_NUMBER ${LINE} ) if (BUILD_NUMBER) string (REGEX REPLACE "+$" ${Repo_WC_REVISION} LINE ${LINE} ) endif () set (NEW_CODE ${NEW_CODE} ${LINE} ) endforeach (LINE) file (WRITE ${VERSION_FILE} "${NEW_CODE} " )

Единственная тонкость в скрипте в последней строке, а конкретней – кавычки в "${NEW_CODE}", без них будут убраны все “;”.

В последнее время Instagram начал частить с нововведениями. А любые обновления в Инстаграм обычно сопровождаются массовыми глюками и проблемами в работе сети. Это настолько привычный процесс, что я какое-то время не обращал внимание на самую главную ошибку последних недель: «Извините, произошла ошибка».

В последнее время распространён другой тип такой же ошибки, когда Instagram не пишет никаких проблем, но вы всё равно не можете зайти в свой аккаунт.

В статье я собрал все известные варианты решения проблемы со входом Insta-аккаунта на телефоне. Погнали.

Решения проблемы «Oops, an error occurred» в Instagram

Вариант 0.

Воспользуйтесь другим телефоном. Скорее всего вам это не поможет, но маленький шанс есть. Самая большая вероятность, что этот способ поможет — взять телефон, на котором вы ранее уже успели войти в свой Insta-аккаунт. Очень часто проблема связана с тем, что Instagram «вам как бы не верит». Поэтому и шансы со старого телефона выше.

Вариант 1.

Первое, что вам стоит сделать - попытаться зайти в Instagram с помощью Facebook. Очевидно, что такое способ подойдёт только в случае, когда вы заранее сделали привязку Facebook к Instagram. Сани готовим летом, так ведь? Связка двух сетей крайне полезна не только самому Фейсбуку, который сможет лучше таргетировать на вас рекламу и зарабатывать дополнительные миллиарды долларов, но и обезопасит ваш аккаунт от угона и… И позволит вам войти в ваш профиль, если вы поймали ошибку «Извините, произошла ошибка».

Ещё раз. Вы получили подобную ошибку - пробуйте авторизироваться через привязанный к Insta-аккаунту Facebook профиль. Лично мне сегодня именно этот вариант помог и я вошёл в один из своих профилей.

Вариант 2.

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

При проблеме «Извините, произошла ошибка» вы можете зайти в web-версию в Instagram, но она не позволяет нам привязать Facebook. Поэтому ленту полистать, конечно можно, но ничем большим она нам не поможет.

Самое время вспомнить о . Если вы не знали, то пользоваться Direct’ом на ноутбуке (только если у вас не Mac) можно уже давно и без танцев с бубном. Выглядит программа вот так:

В Instagram под Windows 10 авторизироваться получается без проблем, даже если ваш аккаунт и словил известную ошибку. Проверял на трёх проблемных профилях и все смогли войти. Да, выборка не самая обширная, поэтому если у вас вдруг возникнет с этим проблема - напишите о ней в комментариях к статье, если вам не трудно.

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

Дрожащими, от счастья и предвкушения, руками, берём телефон и нажимаем на заветную кнопку Войти с помощью Facebook.

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

Альтернативный вариант.

У части пользователей отсутствует возможность воспользоваться клиентом для Windows 10, либо такой способ не подошёл. Читатели в комментариях поделились ещё одним способом: скачивает любой VPN-клиент для телефона, открываем с помощью него Instagram с выбором страны (в VPN-приложении) из сопредельных развитых стран (Германия и так далее). Когда Instagram нас запустил, привязываем Facebook к профилю, проблема решена.

Важно! VPN может только усугубить проблему, словить подтверждение профиля по СМС без возможности логина.

Вариант 3.

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

Возвращаемся в веб-версию Инстаграм. Предвосхищая вопрос, да, она существует и находится по адресу Instagram.com . Авторизируемся, заходим в настройки и внизу замечаем строчку «Временно заблокировать мой аккаунт». Смело нажимаем, не волнуйтесь, профиль не исчезнет. Цукерберг так просто своего пользователя не отпустит:)

Далее выбираем «проблемы с входом», из-за чего хотите совершить святотатство и отказаться на время от Инстаграм, соглашаетесь и блокируете. Дальше можно наконец-то пообщаться со своими домашними, выгулять собаку и даже выпить пенного. Ближайшие 2-3 часа аккаунт вы не трогаете, как бы этого не хотелось.

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

Вариант 4.

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

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

Это очень важное письмо! Тут внимательно. Нажимаем на большую синюю кнопку и получаем вопрос от системы, с помощью чего открыть ссылку: Chrome, Instagram и прочее. Выбираем Instagram, если не сделали этого ранее и тыркаем «использовать этот выбор всегда». Поздравляю, вы вошли в свой профиль.

Вариант 5.

Сброс до заводских настроек телефона, т.е. полное обнуление. Я не верю в работоспособность, но иногда и палка стреляет. На паре форумов были сообщения о том, что чакры открылись у людей и Instagram их в себя впустил после полного сброса телефона, т.е. обнуления ВСЕЙ информации. Подумайте трижды.

Вариант 6.

Удалить приложение Instagram и установить повторно. Небольшой части пользователей этот способ действительно помогает.

Вариант 7. Последний.

Ждите 14 дней. 14 дней это магическое число и даже сам без всякой магии. Поэтому если вы не можете войти в свой аккаунт сейчас, используйте другой девайс, на котором вы уже залогинены в свой профиль и ждите 2 недели. Отпускает после этого всегда.

Итог.

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

Почему мне установили эту форму

В настоящий момент на ваш сайт проводится Brute-force атака. Brute-force атака — это атака по подбору паролей. В данном случае происходит подбор пароля к административной панели вашего сайта.

Чтобы не допустить взлома вашего сайта и повысить его безопасность, нами была установлена дополнительная защита.

Как я теперь могу получить доступ к админ-панели сайта

Теперь при доступе к административной панели вашего сайта (на Joomla или WordPress) будет появляться дополнительное окно ввода логина и пароля с надписью «please use your control panel password». В качестве логина необходимо ввести логин вашей услуги хостинга, он имеет вид «u1234567» . В качестве пароля — текущий пароль к вашей услуге хостинга.

После прохождения базовой HTTP-аутентификации перед вами откроется стандартное поле для авторизация в админ-панели вашего сайта. Теперь уже вам нужно будет ввести логин и пароль администратора сайта.

Как работает базовая HTTP-аутентификация

При вводе логина-пароля в окно базовой аутентификации значение логина и хеша пароля будут сравниваться со значениями в специальном файле ~/etc/users , доступным в панели управления хостингом. Содержимое файла выглядит примерно так: «u1234567:dm48bspxIO3rg» . Где «u1234567» — логин, а «dm48bspxIO3rg» — хеш пароля (обратите внимание: только хеш, а не сам пароль!). Хеш пароля — это результат преобразование пароля по определенному алгоритму.

Таким образом, когда вы вводите логин и пароль в окно базовой аутентификации, от введённого пароля берётся хеш и сравнивается со значением хеша в файле ~/etc/users . Если значения совпадают, вы проходите аутентификацию.

У меня не получается пройти базовую аутентификацию

Вероятно, вы вводите неверный пароль. Установите новый пароль для базовой аутентификации:

Если вы прошли базовую аутентификацию но не можете войти непосредственно в админ-панель сайта Joomla или WordPress, воспользуйтесь справкой:

Как повысить защиту сайта от Brute-force атак?

Для повышения защиты сайта:

  • измените логин суперпользователя на более уникальный. Не используйте короткие имена, лучше если вы будете использовать имя вместе с фамилией. В сети Интернет есть множество ресурсов где собраны наиболее популярные логины. Ознакомьтесь с ними и никогда не используйте их;
  • установите сложный пароль администратора сайта. Сложный пароль должен содержать буквы верхнего и нижнего регистра, цифры и дополнительные символы, такие как «* — _ # :» и т.д. Длина пароля — никак не меньше 6 символов. Желательно от 10 и выше.

Как убрать форму базовой HTTP-аутентификации?

Чтобы убрать форму базовой HTTP-аутентификации:

AuthType Basic AuthName "please use your control panel password" AuthUserFile .../users Require valid-user

Для комментирования строки поставьте символ решётки («#») в начало строки, вот так.

«Защитой от дурака» называется комплекс мер по пресечению ввода неправильной информации в форме. Например, если в поле требуется ввести положительное число от 0 до 10, то следует проверить, чтобы пользователь не ввёл текст или число, которое не лежит в указанном диапазоне, т.е. число не должно быть меньше нуля и больше десяти.

Почему происходит ввод неправильной информации? Это в основном совершается по трём причинам.

  1. Пользователь ошибся случайно, например, невнимательно прочитал, что ему требуется указать.
  2. На веб-странице неоднозначно просят ввести данные, поэтому пользователю приходится гадать и делать предположение, что же в действительности от него хотят. При этом не всегда происходит совпадение мнений разработчика и пользователя.
  3. Есть ряд людей, которые воспринимают инструкции как вызов и стараются поступить наоборот. Такие пользователи рассуждают примерно так: «Ага, меня просят ввести число. А что будет, если я укажу буквы?». После чего задают явно неправильную информацию и смотрят, к чему это приведёт.

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

Обязательное поле

Некоторые поля формы должны быть обязательно заполнены перед их отправкой на сервер. Это, к примеру, относится к форме регистрации, где требуется ввести логин и пароль. Для указания обязательных полей используется атрибут required , как показано в примере 1.

Пример 1. Атрибут required

HTML5 IE 10+ Cr Op Sa Fx

Обязательное поле

Логин:

Пароль:

Обязательные поля должны быть заполнены перед отправкой формы, иначе форма на сервер не отправится и браузер выдаст об этом предупреждение. Вид сообщения зависит от браузера, например Chrome выводит всплывающую подсказку, как показано на рис. 1.

Рис. 1. Обязательное поле не заполнено

Корректность данных

Исходно имеется два поля, в котором вводимые пользователем данные проверяются автоматически. Это веб-адрес и адрес электронной почты. Браузер Chrome также проверяет на корректность поле с календарными данными, но только потому, что у него не предусмотрен интерфейс выбора календаря щелчком мыши. Для этих элементов характерны следующие правила.

  • Веб-адрес ( ) должен содержать протокол (http://, https://, ftp://).
  • Адрес электронной почты ( ) должен содержать буквы или цифры до символа @, после него, затем точку и домен первого уровня.

У браузеров несколько различается политика по проверке данных пользователя. К примеру, Opera подставляет протокол http:// перед введённым текстом автоматически, тогда как другие браузеры ждут его от пользователя. Chrome и Opera требуют, чтобы в почтовом адресе была точка, для Firefox она не обязательна.

В примере 2 показана форма с обязательными полями, в которой два поля проверяется браузером.

Пример 2. Корректность данных

HTML5 IE 10+ Cr Op Sa Fx

Корректность данных

Заполните форму (все поля обязательны)

Имя:

Email:

Сайт:

Opera проверяет элемент формы только при наличии атрибута name.

Что происходит в Opera при вводе неверных данных показано на рис. 2.

Рис. 2. Предупреждение о неправильных данных

Шаблон ввода

Некоторые данные нельзя отнести к одному из видов элементов формы, поэтому для них приходится использовать текстовое поле. При этом их ввод происходит по определённому стандарту. Так, IP-адрес содержит четыре числа разделённых точкой (192.168.0.1), почтовый индекс России ограничен шестью цифрами (124007), телефон содержит код города и конкретное количество цифр часто разделяемых дефисом (391 555-341-42) и др. Браузеру необходимо указать шаблон ввода, чтобы он согласно нему проверял вводимые пользователем данные. Для этого используется атрибут pattern , а его значением выступает регулярное выражение . Некоторые типовые значения перечислены в табл. 1.

В примере 3 просят ввести шестнадцатеричное значение цвета (#ffcc00) и если оно не лежит в этом диапазоне, браузер выводит сообщение об ошибке.

Пример 3. Шаблон ввода

HTML5 IE 10+ Cr Op Sa Fx

Ввод цвета

Введите шестнадцатеричное значение цвета (должно начинаться с #)

На рис. 3 показано предупреждение в браузере Chrome.

Рис. 3. Введённые данные не соответствуют шаблону

Отмена валидации

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

. В примере 4 показано использование этого атрибута.

Пример 4. Отмена валидации

HTML5 IE 10+ Cr Op Sa Fx

Атрибут novalidate

Для аналогичной цели применяется и атрибут formnovalidate , который добавляется к кнопке для отправки формы, в данном случае к тегу . В этом случае форма из примера 4 будет иметь следующий вид.