我最近创建了Login系统,但是我的代码存在一些问题。当在Chrome中检查元素并将表单操作更改为另一个PHP进程页面时,它起作用了!而且我不希望用户这样做。 每个人都可以给我一种无需更改即可验证表单的技术吗? 对不起我的英语! 希望你理解我的问题!
<form class="container mt-5 bg-light p-5 rounded" action="process/login.process.php" method="post">
答案 0 :(得分:0)
欢迎使用StackOverflow,很遗憾,这不可能锁定客户端活动,并且这不会影响任何可能因该操作而损害您网站的内容。
答案 1 :(得分:0)
如果您正在使用登录系统,也许应该为用户设置一个会话变量。
例如(这只是示例代码,忽略了安全性问题和设计模式):
form.html
<form action="login.php" method="post">
<input type="text" name="username">
<input type="submit">
</form>
login.php
<?php
session_start();
if ($_POST['username'] != 'root') {
header('Location: /form.html');
exit(1);
}
$_SESSION['logged_in'] = true;
header('Location: /logged.php');
?>
logged.php
<?php
session_start();
if ($_SESSION['logged_in']) {
header('Location: /form.html');
exit(1);
}
// write your code from here
?>
因此,在要保持私有状态的每个页面中(仅登录用户可以访问),必须检查该会话var是否有效。否则,您应该将用户重定向到登录页面。
无论是否执行此操作,您都不能阻止用户在客户端进行任何处理。这就是为什么我们必须检查服务器端的所有用户输入:安全! ;-)