Linux下PhpMyAdmin程序目录结构的安全管理_Linux

这种组合使得开发Web程序简单、安全、效率高。由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面管理工具,因此使用起来有点困难。现在有了一套由php开发爱好者写的管理Linux下数据库的程序,phpMyAdmin可极好的解决使用的易用性问题。PhpMyAdmin对管理Linux下的数据库行之有效,用户可以通过web浏览器新建删除数据库,增加、删除、修改表结构和表数据,还可以通过表单形式提交查询语句,返回数据结果。因此,现在很多的Linux服务器都使用phpMyAdmin管理数据库。
  PhpMyAdmin是一套放在服务器端的通过浏览器界面管理的程序,因此,确保其目录安全性十分重要,否则,将导致数据被盗取甚至遭到恶意破坏。下面将详细讲述一般的防范措施。

  一、 修改phpMyAdmin目录名:

  在不修改目录名前,其他人很容易洞察该目录名,造成安全隐患。如,假设一台Linux主机的域名为:www.test.com,那么不修改目录名的情况下,在地址栏中输入:www.test.com/phpMyAdmin/ 就将进入phpMyAdmin管理程序。因此如果将phpMyAdmin目录改名为一个别人不易知道的目录,如mynameadmin,这样,你在管理自己的数据库时,只要键入:www.test.com/mynameadmin/ 就可以通过浏览器管理数据库了。(注:下面仍将使用phpMyAdmin目录名,如果目录名已换,只需把phpMyAdmin改名为新的目录名即可。)

  二、 对phpMyAdmin目录加用户身份验证:

  这是很多网站需要用户验证时普遍使用的方法,这样当用户第一次浏览进入该目录时,都将出现一个提示窗口,提示用户输入用户名和密码验证,其是通过使用Apache Server的标准 mod_auth模块实现的,具体操作方法如下:

  1、VI编辑Apache Server配置文件,确保文件中如下两句话没有加注释,如果这两句话前有"#"符号,去掉"#"号。

  DocumentRoot /data/web/apache/public/htdocs
  AccessFileName . htaccess
  AllOerride All

  2、passwd程序创建用户文件:

  htpasswd - c /data/web/apache/secrects/.htpasswd 88998

  其中,-c表示选项告诉htpasswd你想生成一个新的用户文件,/data/web/apache/secrects/ 是你想存放 .htpasswd 文件的目录,文件名称为 .htpasswd,88998 是在验证时所用到的用户名,敲如以上命令后,系统提示你输入密码,这个密码就是验证时所需要用到的密码,该密码在 .htpasswd 文件中是加密的。现在用more来查看 /data/web/apache/secrects/.htpasswd文件,可以看到其中有一行用户名和一串加密密码。

  3、创建 .htaccess 文件:

  使用文本编辑器,在目录 phpMyAdmin (如果已经改名,就是新的目录名)下创建 .htaccess 文件,在文件中加入如下语句:

  AuthName "用户验证"
  AuthType Basic
  AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
require user 88998

  保存所做操作后,再去看phpMyAdmin目录,将提示验证窗口,输入刚用 htpasswd 命令创建的用户名和密码,即可进入该目录。

  三、 增加基于主机的访问控制:

  在修改了目录名和增加访问验证机制后,应该说现在的phpMyAdmin已经很安全了,但由于phpMyAdmin目录一般只是数据库管理员使用,为防止别人还知道目录名称和验证密码,还可以增加如下的基于主机的访问控制,基于主机的访问是通过验证用户机器IP来实现的,即只有符合条件的IP才可以反问该目录,否则拒绝访问。

  修改 .htaccess 文件如下:

  AuthName "用户验证"
  AuthType Basic
  AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd
require user 88998
  order deny,allow
  deny from all
  allow from 202.100.222.80

  这里增加了三条基于主机访问控制指令,其中第一条 order 指令的值是由一个逗号隔开的名单,这个名单表明了哪一个指令更高的优先权,第二条指令 deny 定义不能访问该目录的主机,第三条指令 allow 定义可以访问该目录的主机,这样,该目录除了IP地址为 202.100.222.80 的机器可以访问该目录之外,其他的都不能访问,读者可以把该地址该为用户数据库管理员IP。

  总结:通过以上三点相结合,就可很好的确保 phpMyAdmin 目录的安全,非数据库管理员将很难通过phpMyAdmin程序读取数据。这里所讲的是针对于phpMyAdmin目录进行讲述,其他目录如需加访问限制,也可依此方法操作。

时间: 2024-11-08 22:35:21

Linux下PhpMyAdmin程序目录结构的安全管理_Linux的相关文章

Linux下PhpMyAdmin程序目录的安全管理

安全|程序     Linux下开发Web程序,现在很流行的开发方法为:用PHP开发Web程序,用Apache做Web Server,Mysql充当后台管理数据库.这种组合使得开发Web程序简单.安全.效率高.由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面管理工具,因此使用起来有点困难.现在有了一套由php开发爱好者写的管理Linux下数据库的程序, phpMyAdmin可极好的解决使用的易用性问题.                       

Android开发:程序目录结构详解

  HelloWorld程序的目录结构概述   我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidManifest.xml.default.properties.在Eclipse的左侧展开HelloWorld项目,可以看到如下图的目录结构:   开发:程序目录结构详解-">   下面将分节介绍上面的各级目录结构.   1.src文件夹   顾名思义(src, source code)

【lLinux驱动】linux内核源码目录结构

linux内核源码目录结构 代码目录结构  在阅读源码之前,还应知道Linux内核源码的整体分布情况.现代的操作系统一般由进程管理.内存管理.文件系统.驱动程序和网络等组成.Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录):  arch目录包括了所有和体系结构相关的核心代码.它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录.PC机一般都基于此目录.  include目录包括编译核

Linux下C程序的编辑,编译和运行以及调试

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.  -----------------------------------------------------------------------------

多线程-linux 下c 程序,开了1024个线程 依次等待共同完成某个任务,程序异常退出,不出core

问题描述 linux 下c 程序,开了1024个线程 依次等待共同完成某个任务,程序异常退出,不出core 程序简单来说类似一个多线程下载器,开了1024个线程,然后并发去服务器读取一个大文件的某一块,读取完成后,文件合并要按照顺序写文件,所以我采用了pthread_join依次等待上一个线程写完成操作.测试时候发现程序偶尔会突然down掉,也不出core,并不是总down,也会有成功执行时候.机器配制足够高了,内存96G,24核cpu...希望大家帮忙分析下..谢谢,代码逻辑如下. void*

急急急解决掉割了-linux下fortran程序调试

问题描述 linux下fortran程序调试 如何在linux下进行fortran程序的调试?如何设置短点?如何读取参数? 解决方案 http://emuch.net/html/201111/3842995.html 解决方案二: linux程序调试Linux程序调试Linux程序调试

linux下某程序中实现对进程的实时流量监控功能

问题描述 linux下某程序中实现对进程的实时流量监控功能 求大牛赐教 现在开发了一个程序,在linux下跑,想在里面加一个对特定进程的网络流量监控,实时统计进程流量大小 现在想到的办法就是用libpcap库,对应/proc里面文件按照pid 端口号 数据包 数据大小 进行统计得出当前流量大小. 目前有如下问题: 1.程序中已有功能中已经使用了libpcap去抓去一段数据包然后输出libpcap文件,如果按照上述办法,会不会造成再用libpcap采集数据包出问题?或者说libpcap可不可以多次

SQL Server on Linux的文件和目录结构

问题引入 "鸟儿啊,我记得你写过一篇<SQLServer On Linux Package List on CentOS>的文章,从这篇文章,我们很清楚的知道了SQL Server on Linux包含有哪些必要的包.那么,我们怎么知道SQL Server on Linux到底包含哪些重要的文件和目录结构呢?他们的作用是什么?". "的确,当我们在排错或者需要改变MSSQL Server on Linux配置的时候,我们需要对SQL Server的各个工作目录和文

Linux下c++程序内存泄漏检测代码范例

Linux下对于程序内存泄漏检测的方法很多,最常用的的莫过于使用valgrind工具.但是valgrind相当于让程序在虚拟机中运行,会带 来较大的系统资源开销,还会对程序的运行效率产生较大影响,对于那种资源占用大的程序,如果需要长时间运行才能暴露的泄漏问题,它就显得不太好用. linux下的c++程序中自己实现一个轻量级的泄漏检测代码其实是比较方便的,下面我就给出一个简单的范例,并作简单的说明.当然,我们还是应该提倡使用共享指针,用共享指针自动管理内存可以避免内存泄漏这样的不必要的麻烦. 基本