我是新来的PHP,我想知道是否可以像这样安全地做...
我目前有一个登录系统来保护几页。这是安全的做到这一点在PHP?
- 黑客有可能改变$ logged_in的值吗?
- 这是安全吗?
- 如果不是。什么是最好的办法呢?
文件:
- not_logged_in.php
- test.php的
- login.php中
- logout.php
- protected_page_1
- protected_page_2
- unprotected_page_1
代码:
not_logged_in.php:
<html>
You are not logged in!
</html>
test.php的:
<?php
$logged_in = false;
function protect_page() {
if($logged_in == false) {
header('Location: index.php');
exit();
}
}
?>
的login.php:
<?php
include "test.php";
$logged_in = true;
?>
logout.php:
<?php
include "test.php";
$logged_in = false;
?>
protected_page_1.php:
<?php
include "test.php";
protect_page();
?>
<html>
Content
</html>
protected_page_2:
<?php
include "test.php";
protect_page();
?>
<html>
Content
</html>
unprotected_page_1:
<html>
Content
</html>
我彻底明白的login.php页面只是升ogs和你不必输入密码,但这只是为了目前的测试...
感谢您的阅读!
在test.php的:。变量'$ logged_in'不中exsist函数。它不在函数的作用范围内 –
@ Louis-RochTessier哦,我现在只能看到......谢谢!!我该如何改变这种情况,因为我需要将veriable $ logged_in设置为false,并且我不知道其中 –
虽然这不是一个很糟糕的问题,但很明显你已经开始学习PHP了,如果你不介意的话,我会建议你做一些课程来获得一个基本的理解,[比如作为这个](https:// ww w.codecademy.com/learn/php)和[也许这个](https://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/)。由于这是一个问答网站,因此您可能会收到额外的信息,让您了解您遇到的大多数问题的“原因”。 – Nukeface