我的书单
2016
1. 童年
2. 富爸爸穷爸爸1
3. 人性的弱点
4. 老残游记
2017
5. 穆斯林的葬礼
6. 官场现形记(上)
图片转在线电子书
电子书示例:http://www.sdpcc.cn/list/qunzhongyishu.html
制作过程:
1、图片适度缩放、切割,100%显示时画面、文字清晰不失真。我设置的图片宽度1200像素。(PhotoShop批处理)
2、图片转PDF(Imagetopdf v4.0)
3、PDF转电子书(AxPDF PDF2FLASh v2.35)
另:PDF转图片使用 PDF24 Creator
kindle看pdf不能调整文字大小的解决办法

MySQL 1153、2006错误 MySQL server has gone away
Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes
Error Code: 2006 - MySQL server has gone away
解决方法:
找到MySQL安装目录下的my.ini
在 [mysqld] 下增加一行max_allowed_packet=16M 数值按需求更改
然后重启MySQL服务
开始 》 运行 net stop mysql net start mysql
特殊问题:使用pathinfo时php网站总是显示首页
WIN10 IIS10 CodeIgniter框架开发个网站,本来好好的,换电脑后不管访问哪个页面,都指向首页,折腾一下午才找到原因:不支持pathinfo。
IIS“处理程序映射”中添加php支持时,要选择“添加模块映射“,而不是”添加脚本映射“。

500 内部服务器错误。 您查找的资源存在问题,因而无法显示
WIN7、WIN10 IIS 500 - 内部服务器错误解决方案
1、解决方法:打开IIS,在功能视图中找到"错误页",双击进去后,看最右边的"操作"下的"编辑功能设置...",将"错误响应"下的"详细错误"勾上。
2、网站出现问题是,浏览器去掉了"显示http友好错误提示"选项,仍然看不到具体的错误提示,而是显示,
An error occurred on the server when processing the URL. Please contact the system administrator.If you are the system administrator please click here to find out more about this error.
打开控制面板→管理工具→Internet 信息服务(IIS)管理器→双击"ASP"图标,然后在右边的窗口中展开"调试属性",把"将错误发送到浏览器"设为True即可。微软基于安全性考虑不将错误信息发送给浏览器,记得在网站正式发布时,还原此项设置。
C:/WINDOWS/TEMP 添加权限
Win10系统安装程序错误2502/2503解决方法
CI的CSRF防范原理及注意事项
首先我们谈谈什么是CSRF,它就是Cross-Site Request Forgery跨站请求伪造的简称。很多开发者甚至不够重视这个问题,认为这不是安全漏洞,而不过是恶意访问而已,它的攻击原理我在这里简单地描述一下:
有一天你打开你简单优雅逼格十足的谷歌浏览器,首先打开了一个tab页,登录并访问了你的微博首页。我们这里假设weibo.cn有这样一个网址: http://www.weibo.cn?follow_uid=123 ,意思是关注id为123的一个用户。这是一个正常的地址,访问也没有问题。
紧接着你的QQ群里发来了一个让你感到好奇的链接,http://www.comeonbaby.com, 你禁不住诱惑打开了这个链接,并在浏览器里的另一个tab页里显示出来。紧接着,你打开你的微博tab页,发现无故关注了一个新的用户。咦,这是为何?
原因很简单,很可能在你打开的http://www.comeonbaby.com链 接里存在着这样一个html元素: <img src="http://www.weibo.cn?follow_uid=123" alt="">, 浏览器试图加载这个img,很显然加载失败了,因为它不是一个有效的图片格式。但是,这个请求依然被发送出去了,此时你的微博是登录状态中,然后,你就真 的follow了123, 你看,你被强奸了。
这就是简单的csrf攻击。
在实际的网站项目中,如: http://www.abc.com/logout之类的链接都应该注意,注销类的、删除内容类的、转账类的都可能中埋伏,轻则让你感到诧异,重则数据丢失,财产损失,所以要重视任何一个对数据有操作行为的url。
那么我们在CI里如何解决呢?简单地:
第一步: 在application/config/config.php里配置以下字段:
$config['csrf_protection'] = true;
$config['csrf_token_name'] = 'csrf_token_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
第二步: 在form里使用form_open(),帮助生成一个token。
接下来我说一下csrf的工作原理:
简单地来说,当我们访问一个页面如: http://www.abc.com/register时, CI会生成一个名为csrf_cookie_name的cookie,其值为hash,并发送到客户端。同时由于你在该页面里使用了 form_open(),会在form标签下生成一个之类的隐藏字段,其值也为hash。
紧接着用户点击了注册按钮,浏览器将这些数据包括csrf_token_name发送到(post到)服务器,同时也会将名为 csrf_cookie_nam的cookie发送回去。服务器会比较csrf_token_name的值(也就是hash) 与 csrf_cookie_name 的cookie值(同样也是hash)是否相同, 如果相同则通过,如果不同则说明是csrf攻击。

点击查看全文:http://www.ifixedbug.com/posts/codeigniter-csrf-story
