我主要是C程序员,但我正在尝试接收一些
PHP.
显然,实现Web用户会话的方式是使用$_SESSION变量将用户的登录ID存储在cookie中.
有人只能修改他们的cookie,给予他们不同的权限或以其他用户身份登录是不可能的?
似乎这种认证机制只是让用户将他们的ID存储在一个文件中 – 然后只是相信他们不要改变它.
有什么可以阻止这个吗?
谢谢!
不,会话存储在服务器上,用户无法访问.它用于在整个站点上存储信息,如登录会话.
以下是使用示例:
<?PHP session_start(); if ($_POST['password'] == "1234") $_SESSION['auth'] = true; ?>
然后可以通过网站访问会话,以检查用户是否已通过身份验证.
<?PHP session_start(); if ($_SESSION['auth'] == true) { echo "You are logged in!"; } ?>
用户无法编辑这些值,但会话的ID通过cookie作为长随机字符串存储在计算机上.如果未经授权的用户访问这些字符串,他们可以访问该站点.