if(($ strUsers ==“”)&& false)?虚假指的是什么?

时间:2012-02-29 06:30:45

标签: php dreamweaver

这是Dreamweaver的一个函数,if(($ strUsers ==“”)&& false)false指的是什么?在什么情况下它是真的,在什么情况下它是假的? 谢谢。

function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && false) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

5 个答案:

答案 0 :(得分:3)

引自a forum

  

同样以下代码行:if(($ strUsers ==“”)&& false){   因此包含true或false,这是实际控制的   用户是否有权访问。所以,如果我是对的那么'假'在   上面的声明可以用变量代替   $ MM_donotCheckaccess - 这将使代码更容易阅读和   利用变量。否则它似乎完全是多余的!

此外,这使得此块永远不会运行。看起来如果设置为true,空白用户可以登录,或者任何人都可以登录,如果没有用户,我不知道它实际上代表什么,但从名称中提到的两种可能性之一。

答案 1 :(得分:2)

对我来说看起来像是一个错误。由于这个错误,if语句将始终为false,因此永远不应执行$isValid = true;。您应该重新检查您尝试使用此代码完成的逻辑,因为它看起来充其量混淆,而且最糟糕的是简单错误。

答案 2 :(得分:2)

我已经看到这样做是为了暂时禁用支票(通常用于测试/调试目的)。它可能已经留下了。我不是说这是一个好主意,这就是为什么你会遇到这样的代码。

答案 3 :(得分:0)

Dreamweaver将它用作可以轻松替换的内容,具体取决于您最初通过Dreamweaver设置时指定的设置 - 它将根据您是否truefalse放置告诉它实际检查访问权限。

答案 4 :(得分:0)

错误没有提及任何内容,您只想在以下条件下进行检查。

if ($strUsers == "")