图片服务器被独立出来之后,会面临两个选择,主流的方案是前端采用Nginx,中间是PHP或者自己开发的模块,后端是物理存储;比较特别一些的,比如Facebook,他们把图片的请求处理和存储合并成一体,叫做haystack,这样做的好处是,haystack只会处理与图片相关的请求,剥离了普通http服务器繁杂的功能,更加轻量高效,同时也使部署和运维难度降低。

PHP作为一门强大的脚本语言被越来越多的web应用程序采用,不规范的PHP安全配置可能会带来敏感信息泄漏、SQL注射、远程包含等问题,规范的安全配置可保障最基本的安全环境。下面我们分析几个会引发安全问题的PHP配置,并给出建议的选项。
1、register_globals = Off
PHP在进程启动时,会根据register_globals的设置,判断是否将$_GET、$_POST、$_COOKIE、$_ENV、$_SERVER、$REQUEST等数组变量里的内容自动注册为全局变量。
链接就不贴了,可以在github上进行搜索。这里就不列举 symfony、laravel 这些大家都知道的项目了。只列举比较有意思的。
- swoole, C扩展实现的PHP异步并行网络通信框架,可以重新定义PHP。过去PHP只能做Web项目,现在有了Swoole。任意服务器端程序都可以用PHP来写。
在 Windows 7上安装了个 ApacheFriends XAMPP Version 1.8.2,浏览网站时出现如下错误:
Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.
Error 403
127.0.0.11
Apache/2.4.10 (Win32) OpenSSL/1.0.1h PHP/5.4.31
<a href="tel:18688888888">拨号</a>
<a href="sms:18688888888">发短信</a>
阿里云镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
GUID: 即Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) 。 GUID是一个通过特定算法产生的二进制长度为128位的数字标识符,用于指示产品的唯一性。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
方法1:
在html表单,放置多个文件选择框, 使用数组名作为组件的名字, 如下:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="upfile[]"/> <input type="file" name="upfile[]"/> <input type="file" name="upfile[]"/> </form>
JSONP防御措施:
1、严格安全的实现 CSRF 方式调用 JSON 文件:限制 Referer 、部署一次性 Token 等。
2、严格安装 JSON 格式标准输出 Content-Type 及编码( Content-Type : application/json; charset=utf-8 )。
3、严格过滤 callback 函数名及 JSON 里数据的输出。
4、严格限制对 JSONP 输出 callback 函数名的长度(如防御上面 flash 输出的方法)。
5、其他一些比较“猥琐”的方法:如在 Callback 输出之前加入其他字符(如:/**/、回车换行)这样不影响 JSON 文件加载,又能一定程度预防其他文件格式的输出。还比如 Gmail 早起使用 AJAX 的方式获取 JSON ,听过在输出 JSON 之前加入 while(1) ;这样的代码来防止 JS 远程调用。