未来往事
本分类下收藏如下文章:PHP相关技术文章
URL数字随机重组校验,URL地址id随机加密生成及逆向校验
PHP版本:

jquery版本:
+阅读全文

PHP CURL代理访问 不指定

Rinald 本站原创 PHP 2016/10/16 14:21
php curl curl_setopt代理,PHP CURL使用代理访问WEB服务器


是不是很简单 ppbguzhang
CURL HTTP构造请求Header实现伪造来源IP的说明

伪造的只是X-FORWARDED-FOR和CLIENT-IP,REMOTE_ADDR伪造不了。
$_SERVER['REMOTE_ADDR']是由nginx传递给php的参数,就代表了与当前nginx直接通信的客户端的 IP(是不能伪造的)


PHP获取客户端IP,代理服务器IP,共有如下几类情况:
一、没有使用代理服务器的情况:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示

二、使用透明代理服务器的情况:【Transparent Proxies】
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:211.98.182.163, 211.98.182.163, 211.129.72.215。
透明代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

三、使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:111.98.182.163, 211.129.72.215。
普通匿名代理服务器隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。

四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:111.98.12.163, 111.98.12.163, 111.19.72.25。
欺骗性代理服务器告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。

五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示。
完全用代理服务器的信息替代了您的所有信息,就象您就是完全使用那台代理服务器直接访问对象。这就是高度匿名的好处。

php imagecreatefromjpeg return bool(false) 雨

Rinald 本站原创 PHP 2016/09/29 18:01
错误描述:
imagecreatefromjpeg返回bool(false)
imagecreatefromjpeg():xxx.jpg is not a valid JPEG file
imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error

PHP载入图像的函数:
imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromwbmp()
imagecreatefromstring()
作用:由文件或URL或字符串中的图像流创建一个新图象,成功后返回图象资源,失败后返回FALSE。
PS:简单的理解其作用就是将要进行分割的图片临时读到内存里面。

错误注释:
错误信息翻译:图片不是一个有效的jpeg文件

错误原因:
出现这种错误一般是因为在处理图片时用的函数和图片格式不一致导致的,例如处理的是png格式的图片你使用的是imagecreatefromjpeg函数。
当然,你可以会疑惑:图片扩展名是.jpg,用imagecreatefromjpeg函数处理没有不对的地方啊?
通常情况下,图片的扩展名和图片的格式一致。但是有些时候也会存在图片的扩展名和图片格式不一致的情况,例如人为修改,本来是png或gif的图片把扩展名改成了jpg,所以有时候我们看到的扩展名并不一定就是图片文件该有的正确的扩展名,所以程序在处理过程中就会抛错返回FALSE。

解决思路:
在进行处理图片时使用getimagesize函数获取图片格式,进而进行判断该使用的图片处理函数。同时,判断返回值是否为FALSE,如果为FALSE尝试其他函数类型。
php获取目录下的所有文件并按文件创建时间进行排序,php按文件创建/修改时间排序.

php分卷备份恢复mysql数据库 不指定

Rinald 本站原创 PHP 2016/08/24 18:25
本文主要阐述在大数据量下通过php程序分卷备份恢复mysql数据库的方法,代码已合并为一个文件,即为php页面版MySQL大数据库分卷备份恢复工具。由于时间关系,代码未做整理,结构相对混乱,如果你在该结构基础上做了整理也欢迎你反馈给我~~~

工具实现功能:
1.支持MySQL数据库按指定大小分卷备份和恢复;
2.支持单文件备份及下载
3.分卷备份存储在服务器端,可以直接上传导入

操作过程截图:
输入mysql链接配置信息
点击在新窗口中浏览此图片
当前权限链接下的数据库表信息
点击在新窗口中浏览此图片
选择导出备份方式
点击在新窗口中浏览此图片
导出备份选项
+阅读全文

php判断是否移动设备 不指定

Rinald 本站原创 PHP 2016/08/16 23:41
php判断是否移动手机设备函数,php判断手机访问函数.

相对精准的判断方式:

简单通过user-agent方式判断
+阅读全文
curl post,file_get_contents post,curl file_get_contents post请求数据

在PHP中cURL、file_get_contents函数均可以获取远程链接的数据,但是file_get_contents的可控制性不太好,对于各种复杂情况的数据采集情景,file_get_contents显得有点无能为力,cURL在数据采集情景复杂的环境下略显优势。cURL函数的curl_setopt里面还有很多参数,读者可以抽空整体看一遍,虽然平时未必用得上,但是至少做到心里有底,知道都有哪些参数,必要时还能找出来使用。本文仅粗略介绍了file_get_contents函数和cURL函数的基本使用:

curl post方式获取数据

file_get_contents post方式获取数据
+阅读全文
php获取当前自然周,php获取当前为第几周,php获取自然周开始结束日期时间,php date()函数

示例:
echo getTotalWeek(); //输出当前年份全年共有多少自然周
echo getWeekNum(); //输出当前为本年的第几周
echo getWeekNum('2016-7-31');  //输出2016年7月31日为本年的第几周
print_r(getWeekDate(2016,32)); //输出2016年第32周的起止日期

PHP根据年份获取全年共多少自然周、PHP获取一年共有多少自然周(考虑闰年)

PHP根据日期时间获取为当前的第几周、PHP获取当前是一年的第几周

PHP根据日期时间及第几周获取开始日期和结束日期、PHP获取自然周的开始日期和结束日期
+阅读全文

thinkphp session会话时间周期 不指定

Rinald 本站原创 PHP 2016/06/14 23:34
thinkphp session设置时间无效,thinkphp session周期设置无效问题,thinkphp session时间周期设置

thinkphp session使用:

session配置:config.php:

通过firebug查看session设置时间周期是否生效:
点击在新窗口中浏览此图片

参考文献:
http://my.oschina.net/u/2296413/blog/656007?fromerr=dhttXhI7

PHP网站安全性浅谈 不指定

Rinald 本站原创 PHP 2016/05/31 17:52
PHP网站安全性浅谈
一、web应用服务安全性设置
1、服务器各应用服务尽可能以独立用户运行,如:
 WEB服务运行帐户为www
 MySQL服务运行帐户为mysql
 Memcached用户为memcache
 Redis运行帐户为redis

2、应用服务目录的读写权限最小颗粒化
(a)缓存目录:
一般需要755/777权限,但是多数情况下缓存目录无须提供给用户访问,可以通过nginx拒绝。如:
location ~ "^/cache" {
  return 403;
}
(b)附件目录:
一般也需要755/777等写入权限,建议附件和程序分离,附件不做PHP配置解析(这点能做到最好)。
如果上面做不到,那么建议你尽可能不去解析附件目录的PHP。如:
location ~* ^/upload/.*.(php|php5)($|/){
    deny all;
}

location ~* .*\.php($|/){
      if ($request_filename ~* (.*)\.php) {
            set $php_url $1;
      }
      if (!-e $php_url.php) {
            return 403;
      }

      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
}
PS:
+阅读全文

Memcache PHP测试代码 不指定

Rinald 本站原创 PHP 2016/05/25 18:47
Memcache PHP测试代码,PHP Memcache测试代码

Memcache函数参数说明:
Memcache::add — 增加一个条目到缓存服务器
Memcache::addServer — 向连接池中添加一个memcache服务器
Memcache::close — 关闭memcache连接
Memcache::connect — 打开一个memcached服务端连接
Memcache::decrement — 减小元素的值
Memcache::delete — 从服务端删除一个元素
Memcache::flush — 清洗(删除)已经存储的所有的元素
Memcache::get — 从服务端检回一个元素
Memcache::getExtendedStats — 缓存服务器池中所有服务器统计信息
Memcache::getServerStatus — 用于获取一个服务器的在线/离线状态
Memcache::getStats — 获取服务器统计信息
Memcache::getVersion — 返回服务器版本信息
Memcache::increment — 增加一个元素的值
Memcache::pconnect — 打开一个到服务器的持久化连接
Memcache::replace — 替换已经存在的元素的值
Memcache::set — Store data at the server
Memcache::setCompressThreshold — 开启大值自动压缩
Memcache::setServerParams — 运行时修改服务器参数和状态

扩展阅读:
Memcache函数参数
Memcached 协议中英文对照


第1页 / 共5页 第一页 1 2 3 4 5 下一页 » 最后页 [ 显示模式: 摘要 | 列表 ]