配好www服务器后,想为phpmyadmin 加上存取控制,参照下面的步骤做了。
可是在看效果时发现输入网页路径后出现的是页面源码,而不是一个提示输入密码的页面,请问是怎么回事?
我猜想可能是httpd.conf文件中设置问题
请问AddType 下只有这两行是对的吗?
AddType application/x-tar .tgz
AddType application/x-httpd-php .php
附步骤:
5.控制存取phpmyadmin
phpmyadmin如可以随便访问会有安全问题,这里采用Apache来限制:
1、修改http.conf
假设你想控制/usr/local/apache/htdocs下各目录的不同访问权限,你可以在
# This controls which options the .htaccess files in directories can
# override. Can also be "All", or any combination of "Options", "FileInfo",
# "AuthConfig", and "Limit"
#
# AllowOverride None
AllowOverride All
改成上面一行:
AllowOverride All
意思是在/usr/local/apache/htdocs下不同目录的访问权限由该目录下的.htaccess文件来控制,
而且不同目录的权限策略可互相覆盖。
2、编辑你想要控制的目录下的.htaccess文件
假设你的phpmyadmin目录在/usr/local/apache/htdocs下,你可以这样在phpmyadmin目录下创建一
个.htaccess文件,
内容如下:
AuthUserFile /usr/local/apache/pass/pwdPhp
AuthType Basic
AuthName "Database Security Zone"
ErrorDocument 401 /catchErrors/err_401.html
require valid-user
该文件说明了几个问题:
(1) 用户信息存放在/usr/local/apache/pass/pwdPhp中.
(2) 认证类型为基本型(此外还有一些其他的加密类型).
(3) ErrorDocument 所指向的html文件.
(4) 认证方式:用户认证(valid-user)或组认证(valid-group).
cd /usr/local/apache/pass
mkdir pass
cd pass
vi pwdPhp
3. 生成用户密码文件
有一个用户密码生成程序:htpasswd(在/usr/local/apache/bin下), 它可以加入用户密码信息到指定的文件中,如
/usr/local/apache/pass/pwdPhp.
例如
./htpasswd -bc /usr/local/apache/pass/pwdPhp admin ours
我的用户密码文件内容如下:
admin:ekDP8Mm5Z66po
4. 重起apache deamon
/usr/local/apache/bin/apachectl restart
这时,再访问你的phpmyadmin就要用户名和密码了。。。
gadfly 回复于:2003-05-25 08:50:24试试http配置改成
<IfModule mod_php4.c>
AddType application/x-httpd-php .php4 .php3 .phtml .php
AddType application/x-httpd-php-source .phps
</IfModule>
haohaoo 回复于:2003-05-25 10:11:15看你好像就是想实现
http://bbs.uc88.com/dataadmin/
这样的效果吧,只要把phpmyadmin里面的config.inc.php修改一下就行了啊,把$cfg['Servers'][$i]['auth_type'] = 'config'中config修改为http就行了
ours 回复于:2003-05-25 11:06:18auth类型已经在config.inc.php文件中改过了,还是显示页面源码啊
到底是怎么回事呢?
而从其它机子访问此目录,
http://192.168.1.151/myadmin
则显示页面,可是后面却有个“404 Not Found error ”
页面显示内容如下:
Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
ours 回复于:2003-05-25 13:37:12我又修改了httpd.conf中的内容
把/error/的别名那一行注释去掉了
又把.htaccess文件的内容如下更改:
AuthUserFile /usr/local/apache/pass/pwdPhp
AuthType Basic
AuthName "Database Security Zone"
#ErrorDocument 401 /catchErrors/err_401.html
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
require valid-user
重启apache后可以弹出输入密码的窗口
可是每次输入三次密码后就会连到出错信息页面
这是怎么回事呢?
我是用命令:
./htpasswd -bc /usr/local/apache/pass/pwdPhp admin ours
生成的密码文件,应该不会搞错吧?
大麻 回复于:2003-05-25 13:40:42为什么不用phpMyadmin 自己的认证?
blueriver 回复于:2003-05-25 13:59:53haohaoo说`的对
config修改为http就行了
我就能阿,
另外
我的phpmyadmin能正常连接,删除库,表,但
页面下总有这样的
错误
使用链接表的额外特性尚未激活。要查出原因,请单击此处。
单击进去了
有提示
PMA Database ... 不好[ 文档 ]
一般关系特性 已禁用
不知道为何?
haohaoo 回复于:2003-05-25 15:29:58[quote:be00388fb9="ours"]auth类型已经在config.inc.php文件中改过了,还是显示页面源码啊
到底是怎么回事呢?
而从其它机子访问此目录,
http://192.168.1.151/myadmin
则显示页面,可是后面却有个“404 Not Found error ”
页面显示内..........[/quote:be00388fb9]
你别的php程序会不会出错,先看看你的php配好了没?
haohaoo 回复于:2003-05-25 15:32:29[quote:f85640a673="blueriver"]
一般关系特性 已禁用
不知道为何?[/quote:f85640a673]
是不是在最下面出现$cfg['PmaAbsoluteUri']错误,而且是红色的
你只要修改config.inc.php中$cfg['PmaAbsoluteUri']的值为你phpmyadmin的url路径就可以了,如:http://domain.com/phpmyadmin
ours 回复于:2003-05-26 12:13:28谢谢!已经解决
的确是只需改动config.inc.php上的两个地方就好了
bqcs 回复于:2004-01-28 11:28:43[quote:b739d5140d="haohaoo"]pe'] = 'config'中config修改为http就行了[/quote:b739d5140d]
请问,修改后登陆的用户名和密码应该在什么地方修改?
dcat1 回复于:2004-04-13 08:22:57您配置文件中的设定与 MySQL 默认权限账户对应(没有密码的 root)。您的 MySQL 服务器使用默认值运行当然没有问题,不过这样的话,被入侵的可能性会很大,您真的应该先补上这个安全漏洞。
dcat1 回复于:2004-04-13 08:45:48我按照各位的方法我修改了
$cfg['PmaAbsoluteUri'] = 'http://192.168.0.11/php/';
为什么错误依旧?
错误
使用链接表的额外特性尚未激活。要查出原因,请单击此处。
PMA Database ... 不好[ 文档 ]
一般关系特性 已禁用
wlx 回复于:2004-04-21 14:44:20错误
使用链接表的额外特性尚未激活。要查出原因,请单击此处。
PMA Database ... 不好[ 文档 ]
一般关系特性 已禁用
这是因为phpmyadin加了新功能。解决办法是
一,新建一个名字为phpmyadin的数据库
二。在phpmyadin中建数据表,可以直接从phpmyadin的scripts文件夹中导入sql文件,文件名字为create_tables.sql。
三,配置 config.inc.php 事实上也就是把你建立的表名称填到对应的位置。
其实在cofnig.inc.php后面就有缺省的键值,填上去就可以了,当然你也可以通过create_table.sql文件来写。只不过后面这个要麻烦些。