2016-02-12 17 views
0

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

Вот мой текущий рабочий код с простой кнопкой:

Agree to Connect: 
 
<br> 
 
<br> 
 
<form method="post" id="login" action="http://10.0.0.1:5280/"> 
 
<input type="hidden" name="accept_terms" value="yes"> 
 
<input type="hidden" name="redirect" value="http://www.anderson1216.com/wifi-success.html"> 
 
<input type="hidden" name="mode_login"> 
 
<input type="submit" value="Accept Terms of Use and Connect"> 
 
</form> 
 
<br> 
 
//agreement text here 
 
<br> 
 
<br> 
 
We thank you for your understanding and cooperation. 
 
<br> 
 
<br> 
 
<form method="post" id="login" action="http://10.0.0.1:5280/"> 
 
<input type="hidden" name="accept_terms" value="yes"> 
 
<input type="hidden" name="redirect" value="http://www.anderson1216.com/wifi-success.html"> 
 
<input type="hidden" name="mode_login"> 
 
<input type="submit" value="Accept Terms of Use and Connect"> 
 
</form>

это простая форма ввода пароля, что я нашел:

<head> 
 
<script type="text/javascript"> 
 
function isValid(){ 
 
var password = document.getElementById('password').value; 
 
if (password == "password123") 
 
{alert('Correct!') 
 
else 
 
{alert('Wrong Password')} 
 
} 
 
</script> 
 
</head> 
 

 
<form name="PasswordField" action=""> 
 
Password: 
 
<input type="password" id="password" name="password"> 
 
<input type="button" value="Log in" onclick="isValid();"> 
 
</form>

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

ответ

0

Я бы СЕРЬЕЗНО посоветовал не иметь пароль, указанный в js !! Это может видеть любой, кто смотрит на исходный код. Вам необходимо внедрить более безопасную систему паролей с хэшированным и соленым паролем, хранящимся в защищенной базе данных, и проверить через вызов AJAX или PHP.

0

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

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

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

+0

Да, я действительно просто сделать копии страницу для маршрутизатора и хочу этот пароль, так что не каждый может получить доступ к Интернету. Если этот метод в порядке, если средний пользователь не будет знать, как/попытаться получить пароль или обойти страницу, тогда это будет работать нормально, если не будет ничего, что я должен сделать. Я реализую это, просто разместив html-модуль на моей странице веб-сайта, затем маршрутизатор кэширует эту страницу локально для отображения гостям. –

+0

Это должно работать тогда. Есть также более безопасные способы сделать это, используя CGI-скрипты, которые позволят отслеживать одобренные MAC-адреса, чтобы пользователи не постоянно получали это приглашение. – BayssMekanique

0

Я согласен с gavrig выше на hash и солью их для безопасности.

Но если у меня есть вопрос правильно, вот скрипка, которую я собрал, чтобы решить эту проблему. Я намеренно использовал jquery и javascript.

Agree to Connect: 
<br> 
<br> 
//agreement text here 
<br> 
<br> 
We thank you for your understanding and cooperation. 
<br> 
<br> 
<form method="post" id="login" action="http://10.0.0.1:5280/"> 
<input type="password" id="password" name="password"> 
<input type="hidden" name="accept_terms" value="yes"> 
<input type="hidden" name="redirect" value="http://www.anderson1216.com/wifi-success.html"> 
<input type="hidden" name="mode_login"> 
<input type="submit" value="Accept Terms of Use and Connect"> 
</form> 

$('form').on('submit', function(e){ 
    e.preventDefault(); 
    var password = document.getElementById('password').value; 
     if (password == "password123") 
     { 
      this.submit(); 
     } 
    else 
     { 
      alert('Wrong Password'); 
     } 

}); 

https://jsfiddle.net/tL7qcc5n/2/

+0

Я смог сделать вашу часть javascript этого кода, добавив строку:

 Смежные вопросы

  • Нет связанных вопросов^_^