隐藏http头里的X-Powered-By php版本号

1.找到php.ini

$ php -i | grep "Loaded Configuration File"
Loaded Configuration File => /usr/local/php/etc/php.ini
$ vim /usr/local/php/etc/php.ini

2.修改 expose_php 将 On 改成 Off
3.重启php
4.打开浏览器检测,顺便用lynx在命令行中看下

$ lynx -head -mime_header http://localhost 
或者
$ lynx -head -mime_header http://server-address

git上添加了公钥,每次更新还是要提示输入密码的解决办法

问题:
每次执行git pull后会提示输入公钥密码

Enter passphrase for key '/root/.ssh/id_rsa':

解决办法参考:
http://askubuntu.com/questions/362280/enter-ssh-passphrase-once
依次执行:

$ssh-agent bash
$ssh-add /home/username/.ssh/id_rsa
Enter passphrase for /home/username/.ssh/id_rsa: 
Identity added: /home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa)

输入密码后,出现Identity added后解决。

apache 禁止上传目录解析php文件

禁止网站某个目录的php解析是出于安全因素考虑,像一些上传图片的目录,通常这会被细心的人利用上,他上传一个php文件到图片目录下,如果我们不限制该目录下的php解析,那么他就会利用这个漏洞上传web shell从而获得服务器的权限。所以我们需要把这些可写目录限制php的解析,然而我们还忽略了另一个问题,有些目录虽然限制了php解析,但是用户访问这些php文件的时候会把php的源文件下载下来,从而看到了这些文件的源代码,如果是用户自己写的恶意php代码,那当然没有任何问题,但是,如果他们下载到了我们自己的网址上的源代码,那就不好了。所以,除了要禁止php的解析外,还需要限制一下该目录下的php文件不让下载。配置如下:

<Directory "/home/www/data/">
        php_flag engine off
        <Files ~ ".php">
        Order allow,deny
        Deny from all
        </Files>
</Directory>

其实,我们不加禁止解析的那一行“php_flag engine off” 也是没有问题的。
转自:http://www.aminglinux.com/bbs/thread-6493-1-1.html

查看Apache log,进行log排序

最近网站老是被刷,以前没对log进行分析和排序过。今天正在学习,总结总结:
日志第一个字段就是ip地址,字段之间分隔符是空格:
1. 使用awk:(awk默认分割符就是空格,所以-F选项可以不要)
awk -F ' ' '{print $1}' /var/www/html/apache-tomcat-7.0.27/logs/localhost_access_log.2012-12-27.txt | sort | uniq -c | sort -u
使用awk命令输出每行的第一列 ,-F ‘ ’表示每一行上字符串之间间隔符号是空格,完了用sort排序,接着用uniq -c累计,然后再次用sort  -u对累计结果排序。
2.使用cut:(需要注意的是,cut默认的分隔符是<tab>,所以-d选项是必须要的)
cut -d ' ' -f1 /var/www/html/apache-tomcat-7.0.27/logs/localhost_access_log.2012-12-27.txt | sort | uniq -c | sort -u
原理同上了。
通过ip数量的统计,将攻击IP添加到iptables

php cgi socket: Too many open files

Too many open files经常在使用linux的时候出现,大多数情况是您的程序没有正常关闭一些资源引起的,所以出现这种情况,请检查io读写,socket通讯等是否正常关闭 错误信息:


create_debugger_socket("127.0.0.1", 9002) socket: Too many open files

用 ulimit -a  查看了一下 只有 256


ulimit -a

open files                      (-n) 256

使用 ulimit -n 命令来提高 open files 数


ulimit -n 1024

当然这个只是临时的修改,关闭终端后就失效了 我们可以通过修改 /etc/launchd.conf 文件来使其永久生效 如果系统中不存在launchd.conf我们就创建一个,如果已存在 则在最后添加

sudo vim /etc/launchd.conf

添加以下内容 limit maxfiles 65536 65536 修改后重启电脑然后再通过 ulimit -a 查看

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 709
virtual memory          (kbytes, -v) unlimited

参考文章:http://artincube.com/too-many-open-files-limit-on-mac-os-x-ptgui-pro/

在VirtualBox中设置ubuntu虚拟机挂载共享宿主机的方法

有时需要在虚拟机中共享宿主机的文件,但是发现选择了宿主机的文件夹进行共享后,并没有效果,这让我们非常头疼。

接下来给大家演示一下如何在ubuntu虚拟机中加载宿主机的共享文件夹

1

2 3 4

 

注意!此时的Folder Name 必须和共享的文件夹名不一致,否则无法加载进来,比如我选的文件夹是 sites ,命名的Folder Name 是 macsites

执行完以后,进入ubuntu虚拟机,打开终端进行以下操作


sudo mkdir /mnt/shared

sudo mount -t vboxsf macsites /mnt/shared

操作完以后就可以了,快去看看吧

6

是不是挂载进来了~!

linux 解压命令

.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z

解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf –
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName

生成 SSH KEY

$ cd ~/.ssh    //检查计算机ssh密钥

如果没有提示:No such file or directory 说明你不是第一次使用git,执行下面的操作,清理原有ssh密钥

 $ ls 
 config id_rsa id_rsa.pub known_hosts
 $ mkdir key_backup
 $ cp id_rsa* key_backup
 $ rm id_rsa*

获得密钥:

ssh-keygen -t rsa -C "xxxxx@gmail.com"//填写email地址,然后一直“回车”ok

打开本地..\.ssh\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。