Я пытаюсь защитить страницы паролем от CMS, которую я использую (couchcms).Все сгенерированные страницы со страницы "Contract.php" имеют уникальный идентификатор и URL.
Я бы хотел, чтобы у вас было окно с подсказкой, которое всплывающее при загрузке страницы, если вы посещаете один изэти страницы, и если то, что вы вводите, не соответствует идентификатору контракта URL, который вы посетили, это не позволит пользователю посетить страницу.
Если идентификатор совпадает, вы можете просмотреть посещенныестр.
Например:
Контракт № 334455 имеет следующий URL: example.com/contract/25348764329871098723498
Если бы я щелкнул по этой ссылке, я бы ничего не увиделно пустая страница, и увидит окно подсказки.Я должен был бы ввести 334455 в поле, чтобы разблокировать страницу.Если не правильный идентификатор (который не совпадает с текущим URL), он должен показывать сообщение, блокирующее страницу.
Я пробовал что-то подобное, но это недостаточно безопасно, так как вы можете видеть этов исходном коде, и он перенаправляет на одну и ту же страницу, поэтому создает цикл и всегда запрашивает пароль.Мне нужно просто разблокировать страницу без перенаправления:
<SCRIPT>
function passwordCheck(){
var password = prompt("Please enter the password.");
if (password==="<cms:show my_uid/>"){
window.location="<cms:show k_page_link/>";
} else{
while(password !=="<cms:show my_uid/>"){
password = prompt("Please enter the password.");
}
}
}
window.onload=passwordCheck;
</SCRIPT>
Вот некоторые подробности об используемых переменных:
<cms:show my_uid/> = The generated ID for the page
<cms:show k_page_link/> = The generated URL for the page
Эти переменные изменяются для каждой страницы.
Какие-нибудь решения, которые были бы более безопасными и работали бы как я описал?Большое спасибо