- 博客(58)
- 收藏
- 关注
原创 跨站请求伪造攻击(CSRF)的预防
跨站请求伪造攻击(CSRF)的预防问题及解决思路名词解释: 表单:泛指浏览器端用于客户端提交数据的形式;包括a标签、ajax提交数据、form表单提交数据等,而非对等于HTML中的form标签。跨站请求伪造(CSRF,Cross-site request forgery)是另一种常见的攻击。攻击者通过各种方法伪造一个请求,模仿用户提交表单的行为,从而达到修改用户的数据或执行
2017-09-30 15:37:16
708
原创 前后端分离设计
性能与用户体验方面的细节需要做到位(部分代码的顺序位置都会影响html页面的体验)数据与页面之间添加中间层,(缺少中间层,页面加载缺失空白与延迟,用户体验降低)使用中间层渲染生成对应的html前端负责 控制器与View渲染页面html的工作安全方面主要做XSS防御预防XSS攻击的基本方法是:确保任何被输出到HTML页面中的数据以HTML的方式进行转义(HT
2017-09-30 12:02:27
596
原创 html页面中,代码不转义,使用--------<xmp></xmp>标签
还记得那个在HTML4.01就被废除的标签吗----------标签虽然被废除,但是因为太好用,基本所有浏览器都还支持.它的后续继任者就是pre,但是pre会转义html字符,因为它只是个文本格式化标签,例如这是一个超链接,如果你写在pre里面,还是会被转义,显示为超链接,但是如果用xmp标签呢?它就会完整的输出html标签,并且不做任何转义,也就是把HTML标签输出为字符串,除了
2017-09-25 17:26:46
12508
原创 PHP精度解决方案
http://php.net/manual/zh/function.bcadd.php上述网址中有对于精度的解决方案.取一个数的精度,可以采用该数与0相加后取对应的精度的解决方案如下bcadd('1.23456789',0,5);上面网址还有个笔记写的不错,是一个函数在下面转一下该笔记I made this to add an
2017-09-20 09:48:27
549
原创 关于PHP运算精确度的问题
遇到一个很坑的问题数值做float类型转换之后,经过运算之后得到了 'amount' => 110.00000000000001,与数据库的数据进行比较导致不匹配,这个属于PHP底层的运算问题,注意float运算的精确度,对于精确度要求很高,运算处理要谨慎处理
2017-09-19 15:48:47
1104
原创 数据表设计考虑的问题
数据表的数据是否允许(非系统)编辑 (如不允许,冗余字段设计可以减少联表(减少多表操作))数据是否根据其他情况变动 (如需变动,关联表设计)
2017-09-15 10:23:11
345
原创 MYSQL数据库将 表1的字段值更改为表2字段的值
update t_interface i1,t_interface i2 set i1.balance = i2.restore_money where i1.itype=1 and i1.iid = i2.iid
2017-09-13 17:12:35
3419
原创 thinkphp5 锁表操作
这个问题坑了很久.中间经历了很多艰难的过程,,研究了半天的源码,唉,不多说了主要是设置options 的PDO配置,因为原来的框架本身设置,导致锁表报错.$options = Config::get('database');$options['params'] = [ \PDO::ATTR_CASE => \PDO::CASE_NATURAL, \PDO::A
2017-09-13 16:41:07
6880
1
原创 PHP关于(类对象)回调方法的使用
set_error_handler作为例子(详细解释可以看PHP手册)function set_error_handler ($error_handler, $error_types = E_ALL | E_STRICT) {}callback $error_handler,这个应该是作为回调函数的句柄,可能类似于钩子的原理使用如下public function __
2017-08-14 18:46:55
764
原创 PHP强制修改返回的状态码
在最后的程序执行完毕之前,加入下列语句,即可实现所有的返回码都为200即使在服务器内部发生错误,会报500情况下只要加上register_shutdown_function函数的处理同样可以实现返回200的效果header("HTTP/1.0 200 OK");这样做的目的:(对用户更加友好的处理方式)主要是为了屏蔽错误,把错误日志输出到错误日志中,同时保证返回正常信息或者跳转到其他页面链
2017-08-14 15:19:39
12718
原创 支付宝SDK 返回验签的错误BUG修改解决方案
验签的问题一直报错,无语了..............不知道编写的人是个什么想法具体修改如下在保证不影响原代码的处理下,多加一个分支判断(怕其他地方要用到他的这个代码)又不见了几个小时
2017-08-03 21:06:41
3322
原创 支付宝SDK出现的问题---缺少签名参数 无效签名
支付宝SDK出现的问题---缺少签名参数 无效签名真相永远只有一个------------------填错了密钥(解决2个问题的方案就是这样)实在不行,换另外的支付宝账号密钥来测试就行了坑就坑在密钥改了之后你没有更新最新的密钥
2017-08-03 20:02:11
12891
1
原创 使用任务集合来限制高并发导致服务器超负载的解决方案
找一个载体来当 任务集合 的储存工具 例如 数据库,文件,内存比如一台服务器至多可以承受1000的并发处理量当请求进入服务器时,把请求 以KEY-VALUE键值对的形式 放入 任务集合如果当前请求处理完毕 把 任务集合 中对应的 键值对去掉,表示当前请求处理完毕 通过查询任务集合的 长度或大小,来判断 当前的 处理请求
2017-08-01 21:01:11
386
原创 php安装redis扩展
1 添加phpredis扩展 首先,查看所用php编译版本V6/V9 在phpinfo()中查看 2 下载扩展 地址:https://github.com/nicolasff/phpredis/downloads(注意所支持的php版本) extension=php_igbinary.dll 要放在前面3 将下载
2017-07-31 20:30:56
234
原创 php 隐藏index.php 404错误
隐藏入口文件在ThinkPHP5.0中,出于优化的URL访问原则,还支持通过URL重写隐藏入口文件,下面以Apache为例说明隐藏应用入口文件index.php的设置。下面是Apache的配置过程,可以参考下:1、httpd.conf配置文件中加载了mod_rewrite.so模块2、AllowOverride None 将None改为 All3、在应用入口文件同级目录
2017-07-10 17:44:19
2088
原创 thinkphp 原生语句 Like 绑定参数
使用语句如 name like ?绑定的数组要做处理 比如 ? 只是占位符如查询 c需要将查询的字符串 封装成 %c% ,这样就可以正常使用了,主要是占位符的原理,是先把语句提交给数据库,再把对应的参数填入进去mysql直接查询也是如此
2017-07-06 21:56:54
951
原创 mysql数据库------疑问
以下为网上查找到的一些资料固定长度的表会更快?如果表中的所有字段都是“固定长度”的,整个表会被认为是 “static” 或 “fixed-length”。 例如,表中没有如下类型的字段: VARCHAR,TEXT,BLOB。只要你包括了其中一个这些字段,那么这个表就不是“固定长度静态表”了,这样,MySQL 引擎会用另一种方法来处理。固定长度的表会提高性能,因为My
2017-06-30 11:40:36
261
原创 支付宝新版接口API开发
支付宝新版API更新了很多东西官方提供的SDK有些居然报错了用5.5版本可以,5.6版本不可以.......................这时如果报错就要切换版本做尝试了报错之后查看对应的错误码,与对应的提示,下面为链接,有些错误很隐蔽,不易查出https://doc.open.alipay.com/docs/doc.htm?spm=a219a
2017-06-13 10:25:24
4368
原创 关于接口的数据
一般先用数组的形式表示$result=array( 'code'=>'返回码,如:1000', 'msg'=>'返回消息的说明,如:系统繁忙', 'data'=>'返回的数据,json形式的数据数组');之后把数组转化为json形式,进行返回处理
2017-06-09 12:05:51
257
原创 php配置参数 linux搭建
'./configure' '--prefix=/usr/local/php' '--with-apxs2=/usr/sbin/apxs' '--with-mysql' '--with-mysqli=/usr/bin/mysql_config' '--with-pdo-mysql' '--with-gd' '--enable-gd-native-ttf' '--with-jpeg-dir' '--
2017-06-07 17:09:54
246
原创 微信开发 提示 Redirect_uri参数错误
今天搞微信开发弄网页授权2.0 获取用户的openid的时候这个参数一直报错非常坑爹后来才发现需要配置对应的域名参数....无语了也不提示的具体一点,唉,算了
2017-06-05 12:28:26
457
原创 解决configure: error: Please reinstall the libcurl
今天配置一台server的PHP支持curl的时候, 出现如下报错checking for cURL in default path... not foundconfigure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/其实就是curl的dev
2017-06-05 12:19:47
9630
1
原创 thinkphp5 引入第三方类的坑爹之处
使用 namespace引入第三方类时,该类文件包含有多个类这个时候就非常坑爹了需要 use 命名空间;include '';该文件的路径new org\对应类;例子如下,必须要具备下面3个,引入才不会 Not founduse think\org;include 'F:\new\thinkphp\li
2017-06-01 12:33:41
3071
原创 如何配置Apache不同的端口指向不同的网站
1、到Apache官网http://www.apache.org下载Apache服务器,本文以版本2.2为例;2、安装Apahce,这里我安装到D:Apache下;3、到安装目录下的conf目录下找到httpd.conf文件,这是Apache的配置文件,用记事本打开;4、找到Listen 80,这是Apache的默认端口,你可以修改该端口,也可以添加新端口,这里我改为如下(也就是为该服
2017-05-19 14:17:27
2170
原创 PHP安装新扩展
使用回原来的安装方法与安装文件夹./configure 使用的安装配置参数,在以前的安装基础上再添加所需要的扩展,前提,所安装的扩展已经装好对应的 库与 连接扩展文件 xx-devel make make install之后即可安装成功而且,最好,把在httpd.conf文件中的load phpmodules 改成绝对路径.(不改成绝对路径
2017-05-17 20:39:06
361
原创 关于char和varchar的查询效率问题
一开始,我也认为char效率要高的,毕竟占的空间固定,不用对于空间做过多处理网上有很多坑爹的说 char效率高亲测 char(100) varchar(100) 1000W条数据从查询方面的角度来说,还是varchar毕竟靠谱查询效率 varchar的字段查询要比char快 1S (在没有使用索引的情况下)至
2017-05-15 10:29:23
5752
4
转载 如何卸载rpm包
首先通过 rpm -q 可以查询到rpm包的名字 然后 调用 rpm -e 删除特定rpm包 如果遇到依赖,无法删除,使用 rpm -e --nodeps 不检查依赖,直接删除rpm包 如果恰好有多个包叫同样的名字,使用 rpm -e --allmatches --nodeps 删除所有相同名字的包, 并忽略依赖
2017-05-08 15:46:28
541
原创 linux安装 apache,mysql,php
安装以上环境的时候如果PHP需要扩展,这样安装起来非常蛋疼,最好一开始把全部由可能用得上的扩展安装上去(PHP官方对应版本里含有的扩展包,这里是说官方提供,像部分官方未提供的redis那还得另外单独安装)防止后期单独安装导致的其他BUG或者安装不上进入php解压包文件夹./configure -help 有对应参数设置说明
2017-05-08 15:37:05
381
原创 yum命令
yum list | grep 关键字例如 yum list | grep mysql查询所有可以通过yum下载与mysql关键字有关的包yum install 下载安装的包名称删除安装包yum remove 列出所有已安裝的软件包信息命令:yum info installed查询已安装的安装包使用RPM指
2017-05-08 15:17:25
274
原创 linux 安装 apache,php,mysql
安装APACHE首先安装apache,这个我是直接使用yum来进行安装的yum install httpd 安装对应的httpd插件,否则无法把php集成起来 yum install httpd-devel这个里面有apxs出处https://www.howtoforge.com/community/threads/cannot-compile-new-p
2017-05-05 12:17:49
713
原创 关于安装MYSQL不知道密码的问题
在安装的MYSQL过程,跳过了设置密码的阶段此时一般会生成一个随机的密码文件,你可以在此密码文件中查找到密码安装过程中会出现提示的,如果实在找不到 运用文本查找 查询 pass 即可找到对应的文件位置vi 打开该文件即可
2017-05-04 20:32:36
1250
原创 linux服务器安装MYSQL
一般有3种方法,yum包安装, 版本受限制太大,比较坑rpm包安装,最方便快捷省事源码包安装,各种写配置语句,各种安装对应的依赖插件首先要确定你的LINUX是什么版本,到MYSQL官网下载对应的版本建议还是RPM安装,最方便快捷下面这种,有可能是你安装的MYSQL版本和服务器LINUX版本不对Failed dependencies:
2017-05-04 18:05:45
315
原创 yum 命令
yum list | grep mysql 查找可以使用yum安装的mysql版本yum list mysql 查找所有可用yum安装的mysql版本
2017-05-03 18:27:27
250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人