Ч 6 увійти на ім'я required. Безпека даних користувача




Нам знадобляться такі сторінки:

  • Сторінка реєстрації з формою для реєстрації
  • Сторінка активації облікового запису
  • Сторінка відновлення пароля
  • Сторінка скидання пароля

Форма входу на сайт буде розміщуватись на всіх сторінках сайту (наприклад, у хедері).

Ось таку сторінку реєстрації ми хочемо отримати:

Тут тип облікового записувизначатиме, до якої групи ми зареєструємо користувача. Також полем для ідентифікації (username) буде електронна пошта.

Додамо на сторінку виклик сніпету Register:

[[!Register? &submitVar=`register-btn` &activationResourceId=`27` &activationEmailTpl=`Email.Activation` &activationEmailSubject=`Ви зареєстровані на сайті example.com` &placeholderPrefix=`reg.` &successMsg=`

Дякую за реєстрацію. На вашу електронну пошту [[!+reg.email]]надіслано листа з посиланням на активацію облікового запису. Пройдіть посилання, щоб завершити реєстрацію.
` &usernameField=`email` &usergroupsField=`reg_type` &customValidators=`valueIn` &validate=`username:blank, reg_type:valueIn=^Readers;Writers;Idlers^, fullname:required:minLength=^6^, password:required =^6^, password_confirm:password_confirm=^password^, email:required:email` ]] [[!+error.message:default=`[[!$Register.Form]]`]]

Зверніть увагу, що всі теги щодо реєстрації потрібно обов'язкововикликати некешованими. Такі ж правила діють при обробці форм сніпетом FormIt.

Розберемо параметри виклику:

&submitVar=`register-btn`- вказує атрибут name тега input. Тобто Сніппет спрацює, тільки якщо відправлена ​​форма кнопкою з певним ім'ям.

&activationResourceId=`42`- забігаючи вперед, 42 – це ідентифікатор сторінки, де ми будемо активувати користувача.

&activationEmailTpl=`Email.Activation`- чанк із листом активації, про нього пізніше.

&placeholderPrefix=`reg.`- Вказує, що всі плейсхолдери, за рідкісним винятком (про це далі), які створюються в даному СНІП, повинні починатися з «reg.».

&successMsg– повідомлення, яке виводиться при успішному надсиланні форми. Зауважте, що в ньому можна вказувати значення з форми та будь-які інші теги. Це повідомлення запишеться в плейсхолдер [[!+error.message]].Досить дивна назва, та й у документації на Наразіпомилка. Там написано [[!+reg.error.message]],але з коду компонента випливає, що це негаразд.

&usernameField=`email`- вказує, що як ім'я користувача буде використовуватись поле email.

&usergroupsField=`reg_type`- Визначає поле, що встановлює групу, до якої буде додано новий користувач.

&customValidators=`valueIn`- Вказує додаткові валідатори, які потрібно створити вручну.

&validate- валідатори задаються через кому для кожного поля, а якщо потрібно кілька валідаторів для одного поля, то вони ще поділяються двокрапкою. Розберемо їх окремо:

username:blank- нехитра пастка для спаму, означає, що поле username має залишитися порожнім.

reg_type:valueIn=^Readers;Writers;Idlers^- обмежуємо можливі групи трьома вказаними. У початковій поставці такого немає і злі хацкери можуть зареєструватися, наприклад, під групою Administrator (якщо ви її не перейменували).

fullname:required:minLength=^6^- поле fullname має бути не порожнім і містити хоча б 6 символів.

password:required:minLength=^6^- Аналогічно для пароля.

password_confirm:password_confirm=^password^- паролі мають збігатися.

email:required:email– електронна пошта має бути не порожньою і бути власне поштою.

Конструкція [[!+error.message:default=`[[!$Register.Form]]`]]виводить повідомлення про успішне відправлення форми або чанк форми, якщо ви тільки зайшли на сторінку або заповнили її неправильно.

Створимо вищезгаданий валідатор valueIn. Для цього створюємо сніпет з назвою valueInта наступним кодом:

$valueIn = explode(";", $param); return in_array($value, $valueIn);

Тепер потрібно створити чанк Register.Form . У цьому випадку він буде наступним (використовується Bootstrap 3):

[[!+reg.error.fullname:notempty=`
[[!+reg.error.fullname]]
`]]
[[!+reg.error.email:notempty=`
[[!+reg.error.email]]
`]]
[[!+reg.error.password:notempty=`
[[!+reg.error.password]]
`]]
[[!+reg.error.password_confirm:notempty=`
[[!+reg.error.password_confirm]]
`]]

Усі поля обов'язкові для заповнення

У цій формі зауважу кілька речей, що стосуються MODX:


- Форма обробляється на тій самій сторінці, на якій показується.

Встановлення значення з отриманих форми для того, щоб у випадку провалу користувачеві не довелося вводити все заново.

[[!+reg.error.email:notempty=`[[!+reg.error.email]]`]]– знову ж таки у разі провалу під полем з'явиться повідомлення про помилку.

– обов'язково вказуємо ім'я кнопки, якщо раніше встановлювали властивість &submitVar.


Тепер залишилося створити чанк Email.Activation з листом, який сайт надсилає користувачу:

Дякую за реєстрацію! Щоб активувати ваш обліковий запис, будь ласка, перейдіть за наступним посиланням:

Активувати обліковий запис на сайті Example.Com

Після активації, ви зможете увійти, вказавши електронну пошту та пароль:

Логін:[[+email]]

Пароль:[[+password]]


Тут можна використати плейсхолдери з іменами полів форми. Зверніть увагу, що вони пишуться вже без «reg.». Також додається плейсхолдер [[+confirmUrl]], в якому вже згенеровано посилання активації, навіть нічого не потрібно робити.


Останнім штрихом у мистецтві реєстрації нового облікового запису за допомогою компонента Loginбуде створення сторінки активації. Використовуємо для цієї сторінки порожній шаблон, а в контенті сторінки потрібно вказати лише виклик тега:

[[!ConfirmRegister? &redirectTo=`1`]]

де 1 – ідентифікатор сторінки, яку користувач перейде у разі успішної активації. При цьому він уже буде зареєстрованим.


Почнемо налаштування входу в профіль користувача. Форма авторизації буде проста:

Додамо її, викликавши у потрібному місці:

[[!Login? &loginTpl=`Auth.Login` &logoutTpl=`Auth.Logout` &errTpl=`Auth.Login.Error` &actionKey=`action` &loginKey=`login` &redirectToPrior=`1` &logoutResourceId=`1`]]]

Тут ми вказуємо чанк із формою для входу, намальованою вище ( &loginTpl=`Auth.Login`), чанк з кодом, що з'являється авторизованим користувачам ( &logoutTpl=`Auth.Logout`), невеликий чанк з виведенням помилки входу ( &errTpl=`Auth.Login.Error`). Далі йдуть параметри:

&actionKey=`action`і &loginKey=`login`- Основні ідентифікатори для обробки запиту. Перший означає ім'я параметра в запиті POST, а другий його значення. Тобто форма має передати значення $_POST["action"]="login", щоб сніппет Loginїї обробив.

&redirectToPrior=`1`- означає, що після входу ми перемістимося ту саму сторінку, з якою входили.

&logoutResourceId=`1`- при виході з профіля ми перейдемо на сторінку з ідентифікатором 1.


Чанк Auth.Login :

[[!+errors]]

Форма обробляється на цій сторінці. Якщо трапилася помилка, то вона буде виведена нижче форми у плейсхолдері [[!+errors]].Також потрібно не забути посилання на ресурси з Реєстрацією та відновленням пароля. Зауважте, що у полі для електронної пошти name=«username» – саме в це поле продублював пошту сніппет Register, і це є для користувачів унікальним.


Чанк Auth.Logout:

[]` &tpl=`User.HeaderBadge` &innerJoin=`("modUserGroupMember":("alias":"modUserGroupMember","on":"modUser.id = modUserGroupMember.member"), "modUserGroup":("alias" :"modUserGroup", "on":"modUserGroupMember.user_group = modUserGroup.id"))` &select=`("modUserGroup":("group_name": "modUserGroup.name"))` ]]

Вихід із профілю

Ця частина не є обов'язковою, якщо всі користувачі в одній групі. Але, щоб відобразити групу користувача, стандартних можливостей сніпетів, що входять до компоненту Login, недостатньо. Можна написати простенький сніпет для отримання назви групи на xPDO, а можна скористатися вже готовим сніпетом pdoUsers, що входить до пакету pdoTools. Параметри, зазначені в цьому сніпеті:

&users=`[[+modx.user.id]]`- Вибираємо тільки поточного авторизованого користувача.

&tpl=`User.HeaderBadge`- чанк, у якому ми виведемо коротку інформацію про користувача.

&innerJoin– JSON з джойнами таблиць груп користувачів, опис виходить за межі статті. Головне це працює J.

&select– JSON, що додає у вибірку поле modUserGroup.name з аліасом group_name.


Чанк із бейджиком користувача User.HeaderBadge :

ви ввійшли як [[+group_name]][[+fullname]] Особистий кабінет

Якби нам не потрібна була група користувача, вміст цього чанка можна було б вставити відразу в чанк Auth.Logout . Тут можна виводити плейсхолдери з будь-якими полями modUser та modUserProfile плюс за допомогою pdoUsersдодалося поле group_name.


У чанці Auth.Login.Error простий висновок помилки:

[[+msg]]

З логіном ми закінчили. На цьому етапі користувач може зареєструватися та успішно увійти. Але що якщо він забув пароль? У цьому випадку він клацає на посилання «Забули пароль?» і переходить на сторінку відновлення пароля, яку ми попередньо створюємо та поміщаємо туди виклик:

[[!ForgotPassword? &tpl=`Auth.ForgotPass.Form` &submitVar=`forgotpass` &errTpl=`Auth.Login.Error` &sentTpl=`Auth.ForgotPass.Sent` &emailTpl=`Email.ForgotPass` &emailSubject=`Відновлення доступу до як. Com`&resetResourceId=`29`]]

Розберемо параметри цього дзвінка:

&tpl=`Auth.ForgotPass.Form`- чанк форми, в якій користувач запровадить свій email.

&submitVar=`forgotpass`- у разі сніпету ForgotPassword достатньо, щоб параметр з такою назвою був переданий на сервер і не має значення з яким непустим значенням.

&errTpl=`Auth.Login.Error` - висновок помилки аналогічно сніппету Login

&sentTpl=`Auth.ForgotPass.Sent`- у цьому чанці міститься контент, який буде виведений у разі успішного надсилання листа на зміну пароля.

&emailTpl=`Email.ForgotPass`- Власне лист міститься тут.

&emailSubject= `Відновлення доступу до облікового запису на сайті Example.Com` - заголовок листа.

&resetResourceId=`29`- ідентифікатор ресурсу, у якому проводитиметься скидання пароля на новий.


Чанк Auth.ForgotPass.Form:

[[+loginfp.errors]]

Нового тут лише інший спосіб виведення помилок у плейсхолдері [[+loginfp.errors]]та передача параметра, що саме ця форма скидає пароль: .

Auth.ForgotPass.Sent:

Інформація щодо відновлення облікового запису надіслана на вказану електронну скриньку: [[+email]].

Тут можна використовувати дані із форми вище.


Email.ForgotPass:

[[+fullname]],

Щоб активувати свій новий пароль, будь ласка, перейдіть за наступним посиланням:

Хочу новий пароль

Якщо все пройшло успішно, ви зможете увійти до свого профілю за допомогою таких даних:

Логін:[[+username]]

Пароль:[[+password]]

Дякую,
Адміністрація сайту Example.Com

Все дуже схоже на чанк листа активації, тільки пароль тут згенерований у сніпеті.


Завершальним штрихом залишилося створити ресурс, на який користувач переходитиме з листа для оновлення пароля. У цьому ресурсі нам потрібний виклик:

[[!ResetPassword:empty=`

Ви не замовляли скидання пароля. Можливо, ви помилилися адресою. Ви можете перейти на Головну сторінку сайту або скористатися менюм вище.

`? &tpl=`Auth.ForgotPass.Reset`]]

Цей код виведе повідомлення, якщо хтось забреде на цю сторінку повторно або просто випадково. А якщо пароль успішно скинуто, виведеться повідомлення із чанка Auth.ForgotPass.Reset:

Ваш пароль успішно скинутий на вказаний у листі. Тепер ви можете увійти під цим паролем. Не забудьте змінити його у профілі.

Тепер ми маємо повністю робочу систему авторизації та реєстрації користувачів. Зміну профілю авторизованих користувачів залишимо за рамками статті.


1. Створюємо сторінку реєстрації та додаємо на неї виклик сніпету Register.

2. Створюємо чанки з формою реєстрації Register.Form та листом активації Email.Activation.

3. Створюємо сторінку підтвердження реєстрації та розміщуємо на ній виклик сніпета ConfirmRegister.

4. Додаємо виклик сніпету Loginтуди, де хочемо розмістити форму входу та бейджик авторизованого користувача.

5. Створюємо чанк із формою входу Auth.Login , чанк з інформацією про авторизованого користувача Auth.Logout , чанк з повідомленням про помилку Auth.Login.Error .

6. Створюємо сторінку відновлення пароля та розміщуємо на ній виклик сніпета ForgotPassword.

7. Створюємо чанк Auth.ForgotPass.Form з формою для відновлення пароля, чанк Auth.ForgotPass.Sent з повідомленням про успішне відправлення листа, чанк Email.ForgotPass з листом на скидання пароля.

8. Створюємо ресурс з остаточним скиданням пароля та розміщуємо в ньому виклик сніпета ResetPassword.

9. Створюємо чанк Auth.ForgotPass.Reset з повідомленням про успішне скидання пароля.

На цьому все. Буду радий будь-яким доповненням та зауваженням.

Для будь-якого web-розробника поки що немає більш серйозної проблеми, як повна кросбраузерність його продукту. Напевно, це одне з основних завдань хорошого фахівця: добитися того, щоб його сайт завжди правильно відображався у всіх браузерах.

Параметр required, який іноді використовується для введення, не працює в стародавніх IE, що просто не можна так залишити. Користувачі-пенсіонери, які досі користуються IE6, повинні однаково легко працювати з вашим сайтом, поряд з користувачами Google Chrome останньої версії. Хто, окрім web-розробників, про них може подбати.

Про наболіле, про Internet Explorer

Для звичайних браузерів, до яких можна віднести Firefox, Opera і Google Chrome, це завдання відносно легке. Навіть давні версії цих браузерів однаково добре відображають HTML-код, якщо в ньому звичайно ж не використовуються якісь нові технології. Але щоб добитися подібного в браузерах сімейства Internet Explorer, потрібні титанічні зусилля.

Кожна версія браузера Internet Exlorer має свою унікальну тупість. Що працює в IE6, може як годиться не працювати в IE7 і навпаки. Цей зоопарк компанії Microsoft не вдалося побороти навіть у останній версії свого браузера.

Зрозуміти, чому розробники браузерів не можуть просто взяти відкрити і почитати стандарти W3C для сайтобудування, я не можу.

Тому мені, як web-розробнику, доводиться виступати деяким «прошарком» між примхливими браузерами і відвідувачами сайтів, які вимагають знань і видовищ. І чудово, що web-розробникам поки що це вдається.

Так, як же змусити працювати required у старих версіях IE?

На допомогу нам приходить JS. Раніше я терпіти його не міг, а тепер не бачу подальшого шляху без нього на просторі «правильного» WEB.

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

За все у нас буде відповідати функція fnCheckFields(). Розмістіть на вашому сайті JS-код:

Зазвичай рекомендують розміщувати його між html-тегами HEADна початку сторінки, але я б рекомендував все ж розміщувати його в самому низу сторінки до тега, що закривається BODY. Таким чином, JS менше впливає на швидкість завантаження сторінки.

Вікно введення, де має вводитися обов'язковий параметр, на html-мові має виглядати так:

Цей скрипт працює дуже просто: після натискання кнопки Надіслати, скрипт перевіряє всі інпути на наявність параметра required і якщо знаходить його, відповідно дивиться на введене значення цього поля. Якщо в такий інпут нічого не введено, виводиться попереджувальне вікно про необхідність введення. Дані відповідно нікуди не надсилаються.

Чудово ще й те, що якщо у Вас нормальний браузер, який вже навчився розуміти цей параметр як належить, такого вікна, що попереджає, не спливе і будуть працювати стандартні інструменти обробки параметра required для вашого браузера.

Розповісти в соц. мережах

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.
  • Створити чи підтвердити секретне запитання та відповідь.

Як тільки ви підтвердите контактні дані, у вас з'явиться можливість увімкнути підтвердження імені користувача для отримання нового коду.

Чому мені встановили цю форму

На даний момент на ваш сайт проводиться 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 атак?

Для підвищення захисту сайту:

  • змініть логін суперкористувача на більш унікальний. Не використовуйте короткі імена, якщо ви будете використовувати ім'я разом з прізвищем. У мережі Інтернет є безліч ресурсів, де зібрані найбільш популярні логіни. Ознайомтеся з ними та ніколи не використовуйте їх;
  • установіть складний пароль адміністратора сайту. Складний пароль повинен містити літери верхнього та нижнього регістру, цифри та додаткові символи, такі як * - _ # : і т.д. Довжина пароля - не менше шести символів. Бажано від 10 і від.

Як прибрати форму базової HTTP-автентифікації?

Щоб прибрати форму базової HTTP-автентифікації:

AuthType Basic AuthName "дозволяє використовувати свій контрольний panel password" AuthUserFile .../users Require valid-user

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