下面的代码检查管理员是否登录并在网站上显示特殊编辑框。为此,$ show_tools将在整个脚本中使用。PHP:安全的用户身份验证?
if (isset($user)){
if($user->logincheck($_SESSION["loggedin"], "users", "user_password", "user_email")){
$show_tools = true;
}else{
$show_tools = false;
}
}
之后使用$ show_tools是否安全? 例如:
<?php
if ($show_tools){
?>
<h1> Hello, administrator! </h1>
<?php
}
?>
请注意,而不是'if(someCondition){$ var = true; } else {$ var = false; }',你可以简单地执行'$ var = someCondition;'。 –
我不太清楚我的理解你的问题。您是否担心'$ show_tools'可能容易受到恶意攻击,并且通过脚本部分修改其值? –
你的PHP解释器是否配置好,当你有一个类似'?show_tools = 1'的查询时,'$ show_tools'将会是''1''?如果不是,那么即使在'!isset($ user)'时,你最好设置'$ show_tools = false'。 –