Как в html найти пароль от

<input type=”password”>

<input> Элементы <input> типа password позволяют пользователю безопасно ввести пароль.

Элемент представлен в виде однострочного элемента управления текстовым редактором, в котором текст скрыт, чтобы его нельзя было прочитать, обычно путем замены каждого символа символом, таким как звездочка (“*”) или точка (“•” ). Этот символ зависит от пользовательского агента и операционной системы.

Try it

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

Примечание. Любые формы, содержащие конфиденциальную информацию, такую ​​как пароли (например, формы входа), должны обслуживаться через HTTPS. Многие браузеры теперь реализуют механизмы для предупреждения о небезопасных формах входа; см. Небезопасные пароли .

Value Строка,представляющая пароль,или пустая
Events change и input
Поддерживаемые общие атрибуты autocomplete , inputmode maxlength , minlength длина , минимальная длина , pattern , placeholder , только для readonly , required и size
IDL attributes selectionStart , selectionEnd , selectionDirection и value
DOM interface

HTMLInputElement

Methods select() , setRangeText() и setSelectionRange()

Value

Атрибут value содержит строку, значение которой является текущим содержимым элемента управления редактирования текста, используемого для ввода пароля. Если пользователь еще ничего не ввел, это значение представляет собой пустую строку ( "" ). Если required свойство указано, то поле редактирования пароля должно содержать значение, отличное от пустой строки, чтобы быть действительным.

Если указан атрибут pattern password считается действительным только в том случае, если значение проходит проверку; см. Проверка для получения дополнительной информации.

Примечание. Символы перевода строки (U + 000A) и возврата каретки (U + 000D) не допускаются в значении password . При установке значения элемента управления паролем символы перевода строки и возврата каретки удаляются из значения.

Additional attributes

В дополнение к атрибутам, которые работают со всеми элементами <input> независимо от их типа, вводимые поля пароля поддерживают следующие атрибуты.

maxlength

Максимальное количество символов (в единицах кода UTF-16), которое пользователь может ввести в поле пароля. Это должно быть целочисленное значение 0 или больше. Если нет maxlength не указано, или указано недопустимое значение, то поле пароля не имеет максимальную длину. Это значение также должно быть больше или равно значению minlength .

Входные данные не пройдут проверку ограничения, если длина текста, введенного в поле, превышает maxlength кодовых единиц UTF-16.

minlength

Минимальное количество символов (в единицах кода UTF-16), которое пользователь может ввести в поле ввода пароля. Это должно быть неотрицательное целое число, меньшее или равное значению, заданному параметром maxlength . Если нет minlength не указано, или указано недопустимое значение, ввод пароля не имеет минимальную длину.

Входные данные не пройдут проверку ограничения, если длина текста, введенного в поле, меньше minlength кодовых единиц UTF-16.

pattern

pattern атрибут, если указана, является регулярным выражением , что входное в value должно совпадать для того , чтобы передавать значение ограничения проверки . Это должно быть допустимое регулярное выражение JavaScript, используемое типом RegExp и описанное в нашем руководстве по регулярным выражениям ; 'u' флаг задан при компиляции регулярного выражения, так что рисунок рассматривается как последовательность кодовых точек Unicode, а не как ASCII. Вокруг текста шаблона не следует указывать косую черту.

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

Примечание. Используйте атрибут title , чтобы указать текст, который большинство браузеров будет отображать в виде всплывающей подсказки, чтобы объяснить, какие требования предъявляются к шаблону. Вы также должны включить рядом другой пояснительный текст.

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

placeholder

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

Если содержимое элемента управления имеет одно направление ( LTR или RTL ), но необходимо представить заполнитель в противоположном направлении, вы можете использовать символы форматирования двунаправленного алгоритма Unicode, чтобы переопределить направление внутри заполнителя; Дополнительные сведения см. в разделе Как использовать элементы управления Unicode для двунаправленного текста .

Примечание. По возможности избегайте использования атрибута placeholder . Это не так семантически полезно, как другие способы объяснения вашей формы, и может вызвать неожиданные технические проблемы с вашим контентом. Для получения дополнительной информации см. Ярлыки и заполнители в элементе <input>: The Input (Form Input) .

readonly

Логический атрибут, который, если он присутствует, означает, что это поле не может быть отредактировано пользователем. Однако его value по-прежнему можно изменить из кода JavaScript, который напрямую задает значение свойства HTMLInputElement.value .

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

size

size атрибут является числовым значением , указывающим , сколько символов в ширине поле ввода должно быть. Значение должно быть числом больше нуля, а значение по умолчанию – 20. Поскольку ширина символов различается, это может быть или не быть точным, и на это не следует полагаться; результирующий ввод может быть уже или шире, чем указанное количество символов, в зависимости от символов и шрифта (используемых настроек font ).

Это не устанавливает ограничения на количество символов, которые пользователь может ввести в поле. Он лишь указывает приблизительно, сколько можно увидеть одновременно. Чтобы установить верхний предел длины входных данных, используйте атрибут maxlength .

Использование ввода пароля

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

Простой ввод пароля

Здесь мы видим самый простой ввод пароля с меткой, установленной с помощью элемента <label> .

<label for="userPassword">Password: </label>
<input id="userPassword" type="password">

Allowing autocomplete

Чтобы разрешить диспетчеру паролей пользователя автоматически вводить пароль, укажите атрибут autocomplete . Для паролей это обычно должно быть одним из следующих:

on

Разрешите браузеру или диспетчеру паролей автоматически заполнять поле пароля. Это не так информативно, как использование current-password или new-password .

off

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

current-password

Разрешите браузеру или диспетчеру паролей ввести текущий пароль для сайта. Это дает больше информации, чем on , так как позволяет браузеру или диспетчеру паролей автоматически вводить известный в настоящее время пароль для сайта в поле, но не предлагать новый.

new-password

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

<label for="userPassword">Password:</label>
<input id="userPassword" type="password" autocomplete="current-password">

Сделать пароль обязательным

Чтобы сообщить браузеру пользователя, что поле пароля должно иметь допустимое значение, прежде чем форма может быть отправлена, укажите required атрибут Boolean .

<label for="userPassword">Password: </label>
<input id="userPassword" type="password" required>
<input type="submit" value="Submit">

Указание режима ввода

Если ваши рекомендуемые (или обязательные) правила синтаксиса паролей выиграют от альтернативного интерфейса ввода текста, чем стандартная клавиатура, вы можете использовать атрибут inputmode , чтобы запросить конкретный. Наиболее очевидный вариант использования для этого – если пароль должен быть числовым (например, PIN-код). Например, мобильные устройства с виртуальными клавиатурами могут переключиться на числовую раскладку клавиатуры вместо полной клавиатуры, чтобы упростить ввод пароля. Если ПИН-код предназначен для одноразового использования, установите для атрибута autocomplete значение off Или one-time-code чтобы предположить, что он не сохраняется.

<label for="pin">PIN: </label>
<input id="pin" type="password" inputmode="numeric">

Требования к длине

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

<label for="pin">PIN:</label>
<input id="pin" type="password" inputmode="numeric" minlength="4"
       maxlength="8" size="8">

Selecting text

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

HTML

<label for="userPassword">Password: </label>
<input id="userPassword" type="password" size="12">
<button id="selectAll">Select All</button>

JavaScript

document.getElementById("selectAll").onclick = () => {
  document.getElementById("userPassword").select();
}

Result

Вы также можете использовать selectionStart и selectionEnd , чтобы получить (или установить), какой диапазон символов в элементе управления выбран в данный момент, и selectionDirection , чтобы узнать, в каком направлении выбор произошел (или будет расширен, в зависимости от вашей платформы; см. Его документацию для объяснение). Однако, учитывая, что текст затемнен, их полезность несколько ограничена.


© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password


HTML

  • <input type=”number”>

    Элементы <input> типа number используются для того, чтобы пользователь мог вводить данные. Браузер может выбрать предоставление ступенчатых стрелок, позволяющих пользователю увеличивать и уменьшать значение, используя

  • Validation

    Мы уже упоминали количество входных данных функций проверки, но давайте рассмотрим их сейчас: В следующем примере также представлены все вышеперечисленные функции.

  • <input type=”radio”>

    Элементы <input> типа radio обычно используются как группы — наборы кнопок, описывающие параметры, связанные с набором.


Download Article


Download Article

If you need to make a login page to a website, you’ll probably need to know how you can add a password box to your HTML website. If so, this article will give you these details so you can be on your way.

  1. Image titled Create a Password Box in HTML Step 1

    1

    Type the <form> tag into the HTML file.

  2. Image titled Create a Password Box in HTML Step 2

    2

    Determine what type of information you need to collect from your visitor that would best be left secure and not visible.

    Advertisement

  3. Image titled Create a Password Box in HTML Step 3

    3

    Remember to denote the areas of the tags with the use of the <p>, </br> and </form> tags.

  4. Image titled Create a Password Box in HTML Step 4

    4

    Denote a label for the item using the <p> tag.

  5. Image titled Create a Password Box in HTML Step 5

    5

    Type the <input type=”password”> tag.

  6. Image titled Create a Password Box in HTML Step 6

    6

    Type the </form> tag to conclude the form.

  7. Advertisement

Add New Question

  • Question

    How do you set the box to do something when the right password is entered?

    Community Answer

    Use JavaScript. Your script would look something like this: myinput.onchange = function() {if (myinput.value == “mypassword”) {doSomething();}}. But if you are actually making a password, do not code it using JavaScript. Anyone can look at the JavaScript for your password. Use a server-side language such as php.

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Video

  • Give the input boxes you ask the visitor to enter, values into names with the ‘name=”NameHere” attribute.

Thanks for submitting a tip for review!

Advertisement

About This Article

Thanks to all authors for creating a page that has been read 33,650 times.

Is this article up to date?

Поле для пароля

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

Синтаксис создания следующий.

<input type="password" атрибуты>

Атрибуты совпадают с атрибутами текстового поля и перечислены в табл. 1.

Табл. 1. Атрибуты поля с паролем

Атрибут Описание
size Ширина поля с паролем, которая определяется числом звездочек моноширинного шрифта.
maxlength Устанавливает максимальное число символов, которое может быть введено
пользователем в поле. Когда это количество достигается при наборе,
дальнейший ввод становится невозможным. Если этот атрибут опустить, то
можно вводить строку длинее самого поля.
name Имя поля, предназначено для того, чтобы обработчик формы мог его идентифицировать.
value Начальный текст, который выводится в поле. Этот текст не отображается и заменяется звездочками.

Создание поля для пароля показано в примере 1.

Пример 1. Поле с паролем

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Поле с паролем</title>
 </head>
 <body>
  <form action="handler.php">
   <p><strong>Логин:</strong> 
    <input maxlength="25" size="40" name="login"></p>
   <p><strong>Пароль:</strong> 
    <input type="password" maxlength="25" size="40" name="password"></p>
  </form>
 </body>
</html>

В результате получим следующее (рис. 1).

Вид поля с паролем в браузере Chrome

Рис. 1. Вид поля с паролем в браузере Chrome

HTML по теме

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

Синтаксис создания следующий.

<input type="password">

Атрибуты практически совпадают с атрибутами текстового поля и перечислены в табл. 1.

Табл. 1. Атрибуты поля с паролем

Атрибут Описание
name Имя поля, предназначено для того, чтобы обработчик формы мог его идентифицировать.
disabled Блокирует поле для ввода пароля и не отправляет данные на сервер.
form Идентификатор формы для связывания поля с паролем с элементом <form>.
type Для поля с паролем мы указываем значение password.
maxlength Устанавливает максимальное число символов, которое может быть введено
пользователем в поле. Когда это количество достигается при наборе,
дальнейший ввод становится невозможным. Если данный атрибут опустить, то
можно вводить длинный пароль.
readonly Блокирует поле для ввода пароля.
size Ширина поля, которая определяется числом символов моноширинного
шрифта.
value Начальный пароль, который выводится в поле, но не отображается как текст.
autocomplete Введённый ранее пароль запоминается браузером и подставляется при следующем вводе.
autofocus Поле получает фокус после загрузки документа.
pattern Шаблон ввода пароля.
required Указывает, что пароль является обязательным для заполнения.
placeholder Добавляет подсказку, которая исчезает при вводе пароля.

Создание поля для ввода пароля показано в примере 1.

Пример 1. Поле с паролем

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>Поле с паролем</title>
</head>
<body>
<form action=”handler.php”>
<p><strong>Логин:</strong>
<input maxlength=”25″ size=”40″ name=”login”></p>
<p><strong>Пароль:</strong>
<input type=”password” maxlength=”25″ size=”40″ name=”password”></p>
<p><input type=”submit” value=”Войти”></p>
</form>
</body>
</html>

В результате получим следующее (рис. 1).

Вид поля с паролем

Рис. 1. Вид поля с паролем

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

Перейти к заданиям

Последнее изменение: 02.06.2020

Ставим пароль на страницу

Дмитрий Леонов

Итак, наша задача – установить пароль на доступ к некоторой странице. Начнем с самого примитивного способа,
если можно так сказать, защиты – нескольких строчек на JavaScript:

var pass = prompt("Enter the Password:", "");
if (pass == null)  window.location = "wrong.html";
else if (pass.toLowerCase() == "wwvsfc")  
      window.location = "temp.html";
else  window.location = "wrong.html";

Ухищрения наподобие скрытия скрипта в отдельном файле с помощью конструкции
<script src="security.js"></script> принципиально ничего не меняют.

Аналогичная система, реализованная на Java:

import java.applet.*;
import java.awt.*;
import java.net.*;
public class Password extends Applet{   TextField login, password;   
String Login = "login";   
String Password = "Password";   
public Password()   {   }   
public void init()   {      
Panel panel = new
Panel();      
panel.setLayout(new GridLayout(2,2));      
login = new TextField(20);      
password = new TextField(20);      
panel.add(new Label("Login:"));      
panel.add(login);      
panel.add(new Label("Password:"));      
panel.add(password);      
add(panel);      
add(new Button("Ok"));   }   
public boolean action(Event evt, Object obj)   
{      if(evt.target instanceof Button)      
{         String s;         
if(login.getText().equals(Login) && password.getText().equals(Password) )         
{            s = "http://www.hackzone.ru/articles/ok.html";         }         
else         {            s = "http://www.hackzone.ru/articles/bad.html";         }         
try         {            getAppletContext().showDocument(new URL(s));         }         
catch(Exception e)         {            password.setText(e.toString());         }         
return true;      }      return false;   }}

Включив этот апплет на страницу, можно получить
нечто такое (во всех последующих примерах используются ok.html и bad.html):

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

Последнего недостатка лишено решение,
основанное на использовании CGI. Простенький скрипт на Perl’е
выглядит примерно так:

#!/usr/bin/perluse CGI qw(:standard);
$query = new CGI;$ok = 'ok.html';$address = 'bad.html';
$login = "login";$password = "password";
$l = $query->param("login");
$p = $query->param("password");
if(($p eq $password) && ($l eq $login)){  $address = $ok;}print $query->redirect($address);
Пример использования

Чтобы справиться с первым недостатком, можно динамически сформировать новую страницу на основе
спрятанной где-то там внутри, не выдавая при этом URL.

Модифицированный код:

#!/usr/bin/perluse CGI qw(:standard);
$query = new CGI;
$ok = 'ok.html';
$address = 'bad.html';
$docroot = $ENV{'DOCUMENT_ROOT'};
$localpath = "/articles/";
$login = "login";$password = "password";
$l = $query->param("login");
$p = $query->param("password");
if(($p eq $password) && ($l eq $login)){  $address = $ok;}
print $query->header();
open (FL, $docroot.$localpath.$address);
while(<FL>){# Здесь заодно можно на лету модифицировать html-код# Зачем ? Ну мало ли... :)  
		print $_;}
close (FL);
Пример использования:

Как видно, URL файла уже не светится, правда ценой SSI (впрочем, их как раз можно отлавливать
при выводе и обрабатывать вручную). Но и здесь остается теоретическая возможность угадывания URL,
при этом не надо забывать, что медвежью услугу могут сослужить всевозможные картинки,
включаемые в страницы – при использовании относительных путей, конечно.

Наконец, наиболее надежный способ установки пароля на доступ – это воспользоваться средствами сервера
– не зря ж их люди делали, в конце концов. Остановлюсь на двух – Апаче как самом популярном и IIS
кактоже популярном 🙂

С IIS все совсем просто – защита осуществляется средствами NTFS, что, конечно,
несколько ограничивает возможности не-администраторов сервера. Идея следующая: у пользователя IUSR_xxxx,
под аккаунтомкоторого по умолчанию работают все посетители узла, отбирается доступ к желаемому файлу/каталогу.
После чего доступ к этим файлам будут иметь только те пользователи, для которых это явно указано в Properties→Security.
Понятно, что их гораздо удобнее объединять в группы.

Здесь есть пара тонкостей:

  1. Указанным пользователям должно быть дано право Logon locally (Policies->User Rights в User Manager’е).
  2. Если не выбрать в настройках WWW service Basic authentication (Clear Text),
    внутрь будут пропущены только пользователи Internet Explorer’а.

В Apache все делается несколько иначе.

Защита ставится на уровне каталогов. Соответствующие директивы могут быть помещены как в
общий конфигурационный файл php.ini, так и в файлы .htaccess.
Набор директив в обоих случаях одинаков, а для большинства людей, арендующих место под сайт/страницу на чужом сервере,
первый вариант недоступен.

Итак, вы создаете в каталоге, доступ к которому планируется ограничить,
файл .htaccess, после чего вставляете в него следующие директивы:

AuthType тип контроля – обычно используется Basic.

AuthName имя – задает имя области, в которой действительны имена и пароли пользователей.
Это то самое имя, которое браузер показывает в диалоге ввода пароля.
Задав одно такое имя для разных каталогов, можете сэкономить пользователям время по вводу лишнего пароля.

AuthGroupFile имя – задает имя файла, в котором хранятся имена групп и их членов.
Его формат:
group1: member1 member2 …
group2: member3 member4 …

AuthUserFile имя – задает имя файла с паролями. По большому счету для его формирования
надо воспользоваться утилитой htpasswd из поставки Apache. Но по крайней мере для некоторых версий сервера этот формат
такой:
user1:passwordhash1
user2:passwordhash2

Passwordhash вполне можно получить стандартной функцией Perl’а:
$hash=crypt($pass,$salt);

где $pass – пароль, $salt – строка из двух символов, участвующая в формировании хэша.

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

require user user1 user2 и require group user1 user2 позволяют указать,
какие пользователи и группы получат доступ к данному каталогу.

require valid-user
разрешает доступ всем пользователям, указанным в файле паролей системы.

<Limit method1 method2 …> …</Limit>, где methodi определяет HTTP-метод.
Например, <Limit GET POST> ограничивает применение вложенных в неедиректив случаями использования
методов GET и POST (обычно этого более чем достаточно). Вложенными могут быть директивы require, order, allow и deny.

Еще пара полезных директив – deny и allow – соответственно
запрещения и разрешения доступа. Применяются примерно так:

deny from all

allow from 192.168

По умолчанию сначала выполняются все deny, потом все allow, так что allow from all разрешит доступ всем пользователям,
невзирая ни на какие deny. Порядок можно изменить директивой order: order allow, deny.

deny from all
отлично сочетается со вторым способом защиты страниц через CGI, именно этой директивой лучше всего прикрывать
всякие пароли к гостевым книгам и т.д. При попытке обращения к страницам из этого каталога пользователь получит
сообщение о несуществующей странице.

Кстати, тут между делом демонстрируется самостоятельная обработка ошибок:
в данном случае – код 403, Forbidden. Аналогично обрабатывается и всеми любимая 404 – Not Found, и 401 – Unauthorized.
Для этого достаточно добавить в .htaccess директиву
ErrorDocument код url:
ErrorDocument 404 /cgi-bin/bad.pl
ErrorDocument 403 /cgi-bin/badaccess.pl
ErrorDocument 401 /cgi-bin/badaccess.pl

Подробнее о кодах ошибок можно почитать здесь

Все, что делает скрипт – формирует сообщение об ошибке, используя переменную окружения REQUEST_URI,
так что всместо него вполне можно просто указать какую-нибудь подходящую страницу.

Для заключительного примера используем файл .htaccess со следующим содержимым:

AuthType BasicAuthName TestAuthGroupFile /my/local/path/tgroupAuthUserFile /my/local/path/tuser<Limit GET POST>require group test</Limit>

В файле tgroup всего одна строчка – test: login test,
в файле tuser – зашифрованные пароли для login (password) и test (test).
Обратите внимание, при повторном обращении к этой странице браузер понимает, что только что обращался к этой области,
и не утруждает пользователялишним запросом пароля.

Таков вкратце минимальный набор сведений,
необходимых для защиты web-страниц. Как показывает практика, более-менее доверять стоит лишь решениям,
основанным на средствах, предоставляемых сервером (и то до тех пор, пока в сервере не обнаружится очередная дырка),
так что если есть возможность, лучше выбирать именно их.

Поробнее об установке пароля с помощью файла .htaccess.

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