标题有点大,当我们仔细分析后,实际上一般都是配置问题。
如果有人想攻击服务器时,都会扫描机器哪里有漏洞可以上传恶意脚本文件,上传脚本是第一步,
当恶意的php脚本被上传到服务器时(其后缀可能是php,也可能伪装如jpg等其它后缀),
如果该脚本能被解析执行,那想攻击者就可以为所欲为了。
那从源头上来避免这个问题可以从如下两方面入手:
1.上传前就应该判断文件不能是php脚本文件,如果是不能允许其上传(包括伪装后缀的)。
2.上传后就应该把上传的附件文件单独放在一个服务器,该机器只做静态解析,就没什么问题了。
第一条需...
wordpress 自带的重写规则都是关于apache的,本文将介绍如何配制nginx下的wordpress重写规则。
首先,配置一个php的upstream,这样可以方便backend的机器和端口的改变,然后配置对应博客域名虚拟机。
Apache
# Upstream to abstract backend connection(s) for php
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
server {
## Your website name goes here.
server_name domain.tld;
## Your only path reference.
root /...
try_files 指令的介绍比较让人摸不着头脑,经网上一番总结查看,try_files最核心的功能是可以替代rewrite。
try_files
语法: try_files file ... uri 或 try_files file ... = code
默认值: 无
作用域: server location
try_files $uri $uri/ /index.php?q=$uri&$args;
1
try_files $uri $uri/ /index.php?q=$uri&$args;
按顺序检查参数列出的文件是否存在,返回第一个找到的文件。结尾有斜线的 $uri/ 表示文件夹。...
nginx的配置文件中可以使用的内置变量以美元符$开始,也有人叫全局变量。其中,部分预定义的变量的值是可以改变的。
$arg_PARAMETER 这个变量值为:GET请求中变量名PARAMETER参数的值。
$args 这个变量等于GET请求中的参数。例如,foo=123&bar=blahblah;这个变量只可以被修改
$binary_remote_addr 二进制码形式的客户端地址。
$body_bytes_sent 传送页面的字节数
$content_length 请求头中的Content-length字段。
$content_type 请求头中的Content-Type字段。
$cookie_COOKIE cookie COOKIE的值。
$document_root 当前请求在root...