У меня есть, надеюсь, простая проблема, которую нужно решить. Мы пытаемся защитить ссылку внутри защищенной части нашего сайта с помощью простого пароля. По сути, внутри нашего традиционно защищенного сайта у нас есть динамически управляемая таблица записей с маленьким значком в виде замка, который переключается между заблокированным и разблокированным. Этот раздел сайта уже традиционно защищен и доступен только авторизованным пользователям. Поэтому мы просто хотели бы реализовать эту менее безопасную систему аутентификации по статическому паролю PHP, которая позволяет пользователям блокировать и разблокировать записи в этой таблице. По сути, когда они создают запись в таблице, у них есть возможность щелкнуть значок блокировки (что, очевидно, блокирует запись), но только те, у кого есть простой жестко закодированный PIN-код, могут разблокировать запись после ее блокировки (т.е. все пользователи могут заблокировать, но не все пользователи могут разблокировать). Поэтому я попытался написать простую систему выводов PHP + AJAX. Другой мой администратор настаивал на решении на стороне сервера. Он отказывается использовать для этого только базовый javascript, и я согласен. Он по-прежнему нуждается в разумной степени безопасности. Вот что у меня есть до сих пор, но я очень новичок (минуты) в AJAX и, видимо, что-то не работает. Это один файл с именем pin.php (так что в основном страница подчиняется самой себе)
Ссылка РАЗБЛОКИРОВАТЬ имитирует значок замка, который пользователь щелкает, чтобы разблокировать запись.
<html>
<script src="js/jquery.js" type="text/javascript"></script>
<?php
$static_password = "1234";
if(isset($_POST['data'])){
$submit_password = $_POST['data'];
if($submit_password == $static_password){
echo "Do the unlock stuff";
}
else{
echo "Sorry try again";
}
}
?>
<body>
<h2>Simple AJAX PHP Example</h2>
<a href="javascript:Unlock();">UNLOCK</a>
<script>
function Unlock() {
var pin=prompt("You must enter pin to unlock");
$.ajax(
{
url: 'pin.php',
type: 'POST',
dataType: 'text',
data: {data : pin},
success: function(response)
{
console.log(response);
}
});
}
</script>
</body>
</html>
Любая помощь приветствуется. Спасибо
$
, но я не вижу<script>
, включая jQuery. Кроме того, я считаю, что вам нужно переместить код PHP наверх, иначе весь HTML до него также будет включен в ответ AJAX. - person Chris G   schedule 18.11.2016