php中,如何让一个目录不能直接访问?谢谢!
大家好,想让一个网站的目录:/administrator不能直接访问,比如要访问:http://www.123.com/administrator ,提示不能直接访问。有什么好的方法么?
在网上查了一下,先做一个入口文件
1,入口文件:myadmin.php(文件名可随时更改)
源码如下:
代码如下:
<?php
session_name( "Zjmainstay" ); //session 名可更改,注意对应
session_start();
$_SESSION['admin_user'] = "Y"; //session 变量名可更改,注意对应
session_write_close();
?>
<meta http-equiv="refresh" content="0;url=http://www.youdomain.com/administrator/">
2,修改后台入口文件:/administrator/index.php(可以是任意CMS的入口文件开头)
利用session控制进入。
源码如下:
define('_JEXEC', 1); //原文件Line 9
define('DS', DIRECTORY_SEPARATOR); //原文件Line 10
// Add
session_name( "Zjmainstay" );
session_start();
$ok_to_browse = ( $_SESSION['admin_user'] == "Y" );
if (!$ok_to_browse ) {
header("Content-type: text/html; charset=utf-8");
exit('拒绝非法访问!');
}else{
$_SESSION['admin_user'] = "Y"; //延续session的使用
session_write_close();
}
// Add End
以上就是简单的方法让你的后台登录更加安全(php中加session验证)的内容。
上面的$ok_to_browse 是什么意思,这么用怎么没有作用,请高人给点解一下!
但实际实验了好久,发现不起作用,PHP版本是5.3.3,LINUX系统, 后台是JOOMLA,有大佬能给指点一下么,谢谢了!