手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:PHP

PHP 序列化(serialize)格式详解

PHP 序列化(serialize)格式详解

  1. 前言
  2. 概述
  3. NULL 和标量类型的序列化
  4. 简单复合类型的序列化
  5. 嵌套复合类型的序列化
  6. 自定义对象序列化
  7. Unicode 字符串的序列化
  8. 参考文献

原文来自Coolcode.cn,作者andot

» 阅读全文

Tags: php tutorials, serialize

防盗链的几种常见方法

身为一个网站管理人员,防盗链这个任务实在是任重而道远呀。不说别的,如果不控制,每天的流量可能就会刷刷刷的往上涨,可实际情况呢?根本没有人来浏览。这还不是最重要的,最重要的是这些流量占用了大量带宽,影响了其他人的正常浏览。长此以往,来浏览的人就更少了,再最后就造成恶性循环,网速越慢,来看的人越少,来看的人越少,被下载的机会就越多,也就导致打开网页更慢。

作为一个非下载性网站,防盗连实在是有一些必要,这里我也不谈很多,毕竟防盗链也是一门很高深的技术,我只能随便谈谈。

技巧没有多少,稍谈一点
1、利用SESSION机制,判断该用户的session存在多久?如果是刚生成的,则不让下载
2、COOKIE机制,如果是正常浏览网页,那么生成一个COOKIE,然后才允许下载
3、检查客户机的agent,不过这个很不准确,大多数下载工具都会伪造一个头
4、referer,这个嘛。。。黑黑,表面上有用,其实也没啥用,很明显,下载工具也一样会伪造
5、即时readfile下载,这个会有一点问题,如果东西不大,那是无所谓,如果东西很大,那问题就来了,不能断点续传,也不能使用下载工具。一旦下载失败就不得不重来
6、输入密码。。。象某些网站的提取码之类的
7、用组件,IIS上有现成的防盗链组件,直接可以使用,限制好特定的文件后缀名就行了
8、验证码,这个和输入密码下载有点类似,不过现在很多程序都会自动识别验证码,但下载工具好象还没有这个功能,可以尝试
9、通过邮件机制发送,而不是直接给出下载链接(但很有可能没有办法在网上显示相关内容)
10、无耻的生成BT种子,你们想怎么玩就怎么玩吧。
11、定期按规则更改文件名,或者是链接。。。但不知道那些下载工具是否会自动判断文件的MD5?或者在下载前先判断文件MD5?应该不可能,所以还是值得尝试一下,写个函数,对于下载链接的URL可以定时更换。
12、更改资源内容(这个是看别人的网站而来,意思是,如果提供了MP3下载,那么可以尝试定期不定期的修改MP3的TAG,如果是压缩文件,那么他们都有一个备注区,定期通过程序修改这些位置,可以造成文件大小不一样,对于下载软件来说可能就会被当成不同的文件)
对于11、12好象都有一个问题,主要是指迅雷,如果资源被收录了,但实际被删除了,可能会在一段时间内会被迅雷狂访问,变相的DDOS,曾经我有一台服务器就遇到过这种情况,在我之前,服务器的IP是做电影下载的,后来不搞了,我使用了这个IP,天天流量满,后来一查,发现所有的链接都是下载电影的,虽然没有资源了,但就是拼命的、不停的在连接,造成流量狂涨。

上面这些方法除了用组件比较完全和相对会比较成功一点之外,其他的都难说啊。。。

随便谈谈而己,也不奢求一定能够有用

Tags: 防盗连

Choosing watermark color based on the background luminosity[转]

上一次我说需要用imagemagick做水印,最后是直接通过exec来完成的。方便啊,直接把参数传过去就解决了,可是在现实中,不太可能这样处理,于是找到这个网站进行学习。当然首要的还是看这个水印的。。。。

内容还是看全文吧,没有翻译,我觉得也没有什么好翻译的,

» 阅读全文

PHP安全设置 [转]

一、强化PHP环境
第一步:打开php.ini文件(windows默认路径为"%systemroot%\php.ini",linux默认路径在"etc/php.ini").
第二步:找到"safe_mode=off"改为"safe_mode=on"(已经打开的省略此步)
第三步:找到"disable_functions="改为:"disable_functions=phpinfo,system,exec,passthru,shell_exec,popen,is_dir".
,"system,exec,passthru,shell_exec,popen," 这些属于命令执行类函数,关闭他们可以防止PHP木马执行webshell;"is_dir"这个函数的关闭,可以让既使有everyone可读的权限,也无法将服务器目录及文件名返回到浏览器.
第四步:找到"display_errors=on"改为"display_errors=off"
第五步:保存退出.

二、降低Apache权限(发现此办法无法启动apache)
第一步:另外为apche系统开设一个用户,
net user apache fuckmicrosoft /add
net localgroup users apache /del
ok.我们建立了一个不属于任何组的用户apche
    打开计算机管理器,选服务,点apache服务的属性,我们选择log on,选择this account,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了。
第二步:把所有分区的安全选项里的授权组或用户里除了administrators和system全都删除,针对每个虚拟主机用户目录再单加一个ev-eryone读,写,和列出目录权限

» 阅读全文

Tags: php, 安全, 设置

imageMagick的一些资料

最近需要使用imagemagic,实在不熟,在GOOGLE上找了点资料,记录下来,以备用。

  1. http://hi.baidu.com/tomshi/blog/item/6bae4034e75c884f241f146d.html(Imagemagick的用法)
  2. http://www.imagemagick.org/Usage/annotating/#wmark_image(官网的一些操作介绍)
  3. http://cn.php.net/manual/en/book.imagick.php(PHP手册中的介绍,这是通过DLL操作的,好象是,没有研究过)

» 阅读全文

Tags: php, imagemagick, magicwand