如果(为了论证)“admin-access”在 php 中被授予:
if (isset($_SESSION['admin'])) // this session would be set
{ // grant access; } // after a successful login
else { //redirect ;}
如果您知道 session 的名称是什么(在本例中为 admin),这是否会是一件特别容易绕过和伪造的事情?
换句话说,如果脚本只需要“设置” session ,那么有人可以轻松伪造 $_SESSION 吗?
最佳答案
使用 isset()
对于安全性来说并不坏。这取决于你如何使用它的逻辑。如果您不仅检查 isset()
而且还检查它的值,那就太好了。
例如:
if( isset($_SESSION['admin']) && $_SESSION['admin'] == true ) {
// grant access
} else {
//redirect
}
或者类似这样的东西:
if( isset($_SESSION['admin']) && $_SESSION['admin'] == '1' ) {
// grant access
} else {
//redirect
}
关于php - isset($_SESSION ['admin' ]) 是一种危险的授予访问权限的方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10569861/