PHPビット演算によるサイト権限
1390 ワード
, ” ” ,& 、| 。 10 , 2 , 10 。
2^0=1, 2 ”0001″( ^ ” ”, :2 0 , )
2^1=2, 2 ”0010″
2^2=4, 2 ”0100″
2^3=8, 2 ”1000″
& ( )
:7=4|2|1 ( 7=4+2+1)
& , 7&4、7&2、7&1 , 7&8
&、| ,
:
// --> :8、 :4、 :2、 :1
define(“mDELETE”,8);
define(“mUPLOAD”,4);
define(“mWRITE”,2);
define(“mREAD”,1);
//vvvvvvvvvvvvv vvvvvvvvvvvvv
// ( ),| ,
echo mDELETE|mUPLOAD|mWRITE|mREAD ,”
“;// :8+4+2+1=15
// upload read ,
echo mUPLOAD|mREAD ,”
“;// 、 :4+1=5
/*
* , , ?
* :4+2+1=7
* ?
*/
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// , $key
/*
* & ,
*/
$key = 13;//13=8+4+1
if($key & mDELETE) echo “
“; //8
if($key & mUPLOAD) echo “
“; //4
$a=$key & mWRITE; echo “
“.$a; //
if($key & mREAD) echo “
“; //1
?>
OK, , 。 , , 。 , 1、2、4、8、16….( , , )。 , 。
, , , ,2 、 。 。