网站密码保护:防止刷新和 XSS 攻击
网站密码保护:防止刷新和 XSS 攻击
本代码示例演示了如何使用 PHP 实现简单的网站密码保护,并防止用户刷新页面和 XSS 攻击。
代码示例:
<?php
if(isset($_POST['password'])) {
$password = htmlspecialchars($_POST['password']); // 防止XSS攻击
if($password == '19') {
// 密码正确,跳转到主页
header('Location: index.php');
exit;
} else {
// 密码错误,弹出提示
echo '<script>alert('密码错误!');</script>';
}
}
// 判断是否已经输入过密码
if(!isset($_POST['password'])) {
// 网站内容
echo '欢迎访问我的网站!';
// 10秒后自动锁定
echo '<script>
setTimeout(function() {
document.body.innerHTML = '<form method="post"><input type="password" name="password" placeholder="请输入密码"></form>';
}, 10000);
</script>';
} else {
// 已经输入过密码,不再显示锁定页面
exit;
}
?>
代码说明:
- 防止 XSS 攻击: 使用
htmlspecialchars()函数对用户输入的密码进行过滤,防止恶意代码注入。 - 防止刷新: 使用
isset($_POST['password'])判断用户是否已经输入过密码,如果已经输入过,则不再显示锁定页面。 - 自动锁定: 使用
setTimeout()函数,在 10 秒后自动显示密码输入框,要求用户再次输入密码。
注意:
- 本代码示例仅供参考,实际应用中需要根据具体情况进行调整。
- 为了保证网站安全,建议使用更复杂的密码验证方式,并进行更严格的 XSS 防御。
原文地址: https://www.cveoy.top/t/topic/nn8O 著作权归作者所有。请勿转载和采集!