假设我想作一个超级简单的页面,在PHP访问限制为单个用户。提供的授权用户知道的目录和网页的网址,可能他只是手动通过在地址栏的get
方法的用户名和密码(他会知道),并自动检查其对脚本,其中用户名和密码的值将被硬编码在?该脚本有一个if statement
,如果不是这样,将不会显示内容。会有什么缺陷?简单的单用户登录页面
的网址
http://example.com/admin.php?user=admin&password=1324
admin.php的
<?php if($_GET['user'] == 'admin' && $_GET['password'] == '1324')){
// display content here
}else{
echo "You're not authorized to visit this page";
} ?>
方案2:在post
方法
到上述场景类似,在这一个授权用户可以键入用户名,表格中的密码,将在实际的admin.php
文件中处理。类似的if statement
将使用与$_POST[]
超全局这次检查输入。
<?php if($_POST['user'] == 'admin' && $_POST['password'] == '1324'){
// display content here
}else{
echo "You're not authorized to visit this page";
} ?>
关于第二种方法:我只打算让授权用户访问一个页面。 '$ _SESSION []'在这里不起作用,因为每次登录只发送一次数据(所以如果用户离开受限制的页面,他将不得不再次通过表单)。该情景最好被简化。但是,我甚至不会想到实施这样的系统。这个问题仅仅出于好奇而出现。 – menislici