windows环境下的xampp安全环境的搭建
有时候为了省去从头到尾配置apache,php,mysql的麻烦,会选择xampp搭建我们的服务器,但是如果把安装好的服务器直接用于实际的环境,却是非常不安全,下面我们来看看如何配置,使服务器更安全。
一.xampp设置
安装完毕后,进入localhost/xampp/
点击“安全”,点击=>localhost/security/xamppsecurity.php<=[只允许localhost]设置MySQL SuperUser,root用户的密码(注意实际运行网站是不要使用该用户)
设置XAMPP目录保护(.htaccess),设置用户名,密码。
(注意:为防止忘记密码的情形,最好将这些用户名密码放在一个安全的地方保存)
二.apache安全与配置
apache服务器的配置文件,主要在两个地方:
一个是在:\xampp\apache\conf,下的f,
一个是在\xampp\apache\conf\extra下,该目录下有很多的配置文件,如xampp的配置
(f),mpm的配置(f),虚拟host的配置(f)等等。
下面我们来配置apache服务器,修改xampp\apache\conf,下的f的配置文件
php项目搭建注意,默认该服务器是使用80端口,如果该端口被占用,则必须修改apache服务器的默认端口
1.隐藏apache版本
默认情况下,访问apache服务器,访问某个禁止文件或者不存在的文件时,会显式服务器的版本信息,如下所示
或者使用website/server-info,也会在网站的响应信息中会清楚的看到如下信息:
这样是非常危险的,然攻击者能清楚的知道你使用的服务器的信息,我们必须把屏蔽掉,首先将,Apache 模块mod_info.so在f中注释掉,:
然后在\xampp\apache\conf\extra中的f中,将
然后修改\xampp\apache\conf\extra,目录下的f配置文件,到
这样,我们就可以让客户端无法得知服务器端的配置情况了。
2.清除“Indexs”引用(因为默认情况下,如果在网站目录下不到index文件则,会列出网站的目录,这是非常危险的,攻击者会清楚知道你网站的文件结构,所以我们清除Indexs,你可以直接删掉,也可以采用:-Indexs,如下:
3.为了优化apache的性能,设置\xampp\apache\conf\extra中的多路处理模块,f,
到如下部分:
ThreadsPerChild:
这个参数用于设置每个进程的线程数,子进程在启动时建立这些线程后就不再建立新的线程了.
mpm_winnt上的默认值是64,最大值是1920.这里建议设置为100-500之间,服务器性能高的话值大一些,反之值小一些。
MaxRequestsPerChild:
该参数表示每个子进程能够处理的最大请求数,即同时间内子进程数目.设置为零表示不限制,
mpm_winnt上的默认值就是0,官方参考手册中不建议设置为0,主要基于两点考虑:(1)可以防止(偶然
的)内存泄漏无限进行,从而耗尽内存;(2)给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
4.修改日志记录方式
默认情况下,apache服务器会记录所有网站的访问信息和错误信息(这个信息是非常有用的),该日志文件的默认路径是:\xampp\apache\logs,
默认记录两类日志:
访问日志(access.log)
错误日志(error.log)
但是,如果网站的访问量巨大,会造成access.log文件非常大(几G),这些日志文件用一般的文本编辑工具就无法打开了,我们是否可以按照我们设定的方式记录日志,如果日志文件大于某个设定的值如:100M则,则新建立一个日志文件,开始记录,
配置如下:
红部分为修改的部分,首先注释掉默认的日志记录,因为我们已经自定义了日志的记录方式,默认的日志就不再使用了,这里我们用到的apache自带的rotatelogs小工具,
语法如下:
我们上面记录的方式是:按照access-年-月-日-时-分-秒.log的方式生成日志,每个日志文件的大小不超过50兆,超过了这个大小则重新生成日志文件。
还可以设置,按时间来记录日志:
其中:
/data/apache:为apache的安装目录,根据自己实际情况确定;
86400:秒,24小时,表示生成的日志文件按天滚动,也就是每天生成一个日志文件;
480:分,时间偏移。
同理可以按小时滚动日志文件,每隔一个小时,几个小时。。。生成一个日志文件。
5.限制目录访问
有时候,我们需要限制某些目录的访问,如,只允许指定的IP段访问,指定的IP访问等等,那么我们可以修改f文件来达到目的:
这里只允许本机,10.*.*.*,和218.196.14.*机器访问该目录。
如果需要限制用户通过密码登录,可进行如下设置:
(1)利用apache bin目录下的htpasswd命令生成密码文件(具体使用方法用htpasswd–help查看帮助文档)
生成密码文件:htpasswd–bc.passwd admin123456
说明:在bin目录下,生成一个.passwd的文件,用户名为:admin密码为:123456,默认采用MD5加密
(2)修改配置文件,指定需要输入密码
(3)在限制访问的目录下添加文件,添加如下代码
重启apache服务器,访问该目录,就要输入密码了,同时还限制了访问的IP
6.用户配置
小技巧,一般在启动apache服务器是使用xampp的控制面板,但是有时候点是stop或者star时,无法得知当前apache服务器的情况,也无法实现重启,最后是使用来操作,该程序的路
径:\xampp\apache\bin。
(注意,在安装时要apache的服务,或者勾选Svc亦可安装服务)
有时候会出现,mysql或者apache无法启动的情况,请查看操作系统的日志,可以得到有用的信息。
三.php配置
1.启用安全模式
在\xampp\php目录下,到php.ini的配置文件,到:
safe_mode=Off//改为On
2.必须禁用一些高危函数,其中,可以保留phpinfo这个函数
disable_functions=
exec,passthru,shell_exec,system,popen,proc_open,proc_close,curl_exec,curl_multi_exec,par se_ini_file,show_source,dl,passthru,escapeshellarg,escapeshellcmd
3.禁止显示PHP的版本
expose_php=Off
四.mysql配置
mysql数据库的管理一般有两种方式:
一是使用自带的phpMyAdmin进行,设置好用户名和密码就可以在该网页上直接操作数据库
二是使用命令行:
使用命令行之前,最好设置系统的环境变量,将Path变量中添加C:\xampp\mysql\bin,重新启动命令行工具(这个很重要),然后输入mysql,如果出现如下提示,表示成功:
使用命令是一种快速和直接操作数据库的方式,推荐使用:
常用的命令如下:
1.登录mysql
>mysql–u root–p
>输入密码
mysql>输入要执行的命令即可
2.查看数据库
>show databases;
3.使用数据库
>use test;
4.查看表
>show tables;
5.查看表结构
>desc表名;
6.建立用户授权(这个很重要,默认情况下网站不要直接使用root用户操作数据库,而是重新建立一个数据库用户,然后授予其相应的操作权限)
>grant权限(select,insert,update,delete)on数据库名.表名(*,表示所有表)to用户@localhost identified by‘密码’;
这样就建立了一个指定的用户,它只对指定的数据库的表有相应的操作权限,用户名和密码要记住。
>show grants for用户名@localhost;
查看指定用户的权限。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。