Safari 浏览器提交表单,在a标签上绑定onclick 事件  

今天遇到个问题,在写一个表单提交的时候,按钮使用的是a标签,在a标签上绑定了事件 <a type="button" class="btn btn-caution" rel="_request" id="address_submit" style="cursor: pointer;" onclick="return submit()">确定</a> 在submit函数里面使用了ajax,结果数据都返回json了,由于在其它浏览器下结果都正常。,一直以为是safari请求格式...

Posted:2018-09-08  By vilay

PHP $_POST,php://差异  

今天在使用postman测试接口的时候,遇到个问题,使用`raw`向接口发送`json`数据,但是后台获取不到数据 后台使用`$_POST`获取,获取不到数据。 之前一直使用`$_POST`,差点以为这万能了,后面查看了文档发现还是有差异的。 __$\_POST__ 当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式...

Posted:2018-07-12  By vilay

一次服务器磁盘爆满的血案  

今天早上访问应用的时候,突然很多地方图片加载不到,登录之后session无法获取。 首先,我查看了下yii2 session相关的配置,都有配置正确 接着尝试写了两个方法,一个方法生成session,并获取到session,正常,另一个方法,获取上个方法生成的session,获取失败。 尝试了下重启服务器,还是无效,没能解决问题。 查看了下session的存储位置`/var/lib/session`权限是够的 然后看了下php的session相关配置,突然想到...

Posted:2018-07-11  By vilay

PHP JWT 实践  

PHP JWT验证的实践 ### 介绍 [官网](https://jwt.io/) `JWT` JSON Web Tokens JWT 格式 `header.payload.signature` __header__ { "typ":"JWT", "alg":"SHA256" } __payload__ 待补充 ### 示例 <?php /** * api接口基类控制器 * @authors v...

Posted:2018-07-03  By vilay

PHP json_encode 空数组  

在对接口的时候,使用json数据进行数据传输,遇到一个问题 示例代码: $data = [ 'head' => [ 'token' => 'dfdfd', ], 'body' => [] ]; echo json_encode($data); 结果: {"head":{"token":"dfdfd"},"body":[]} body这个空数组还是经过编码之后还是`[]`,这种格式在部分语言里...

Posted:2018-06-28  By vilay

本博客开源  

本博客开源代码已扔github [Github](https://github.com/zhujp/flask_blog) 后台基于`Flask`,`Layui`进行开发,刚学Flask代码写的不是很好,望多指正。 Python 版本3.6,其它的版本我没试过。 后台功能: 文章管理 分类管理 标签管理(未完成) 系统设置 友情链接 管理员管理 后台日子(未完成) 数据统计(未完成) 文章标签绑定(未完成) 前台:基本展示...

Posted:2018-06-24  By vilay

域名更换IP之后,让Chrome马上生效的办法  

在开发的Web的时候,我们常遇到个问题,由于系统的要求,有限定特定的域名,因为测试域名没有解析到公网,导致了我们在测试服务器测试与本地测试需要不断的去更改hosts,由于浏览器的机制问题,更换了hosts里面的IP后,Chrome访问的还是原来的IP,通过ping的方式,却发现IP已经是新的IP。我之前要么是关闭浏览器重启,或者更换别的浏览器进行测试,用这样的方式保持浏览器页面不被关闭,方便继续测试。 通过找资料发现这是由于Chrome 的Sockets的机制导致的。 Chro...

Posted:2018-06-16  By vilay

Flask 学习笔记(三)-ORM  

__简述__ SQLAlchemy是个非常优秀的orm,flask可以根据自己的爱好使用orm,但是既然使用flask,首选当然是flask-sqlalchemy。 __安装__ pip3 install flask-sqlalchemy __初始化__ from flask import Flask,render_template from flask_sqlalchemy import SQLAlchemy...

Posted:2018-06-10  By vilay

Flask 学习笔记(四)- 静态文件  

Flask模版文件中引入静态文件的方法 #### 1. 第一种方法 使用路径直接写死 <link rel="stylesheet" type="text/css" href="/static/css/style.css"> #### 2. 第二种方法 使用模版函数`url_for()` <script src="{{ url_for('static', filename='js/jquery-3.3.1.min.js') }}"></script>

Posted:2018-06-10  By vilay

Flask 学习笔记(三)-模版  

Flask 的模版引擎使用的是`Jinja2` [Jinja2](http://jinja.pocoo.org/) 示例代码(项目文件index.py): from flask import Flask from flask import render_template app = Flask(__name__) @app.route('/') def index(): return 'hello vilay' @app.rout...

Posted:2018-06-10  By vilay

Flask 学习笔记(二)-调试模式  

flask在使用命令启动之后 FLASK_APP=index.py flask run 如果新增了路由,又需要重启,这导致了开发的时候非常麻烦,Flask默认情况下环境是 * Environment: production WARNING: Do not use the development server in a production environment. Use a production WSGI server instead. ...

Posted:2018-06-10  By vilay

Flask 学习笔记(-)  

### 1.安装flask 使用pip安装flask pip3 install -U Flask ### 2.第一个flask程序 新建flask的目录 mkdir -p www/flask 新建一个python文件(index.py),放在flask目录下 from flask import Flask app = Flask(__name__) @app.route('/') def hello(): ...

Posted:2018-06-09  By vilay

PHP 实用函数篇  

__error_get_last()__- 获取最后发生的错误 示例: <?php echo $a; print_r(error_get_last()); 结果: Array ( [type] => 8 [message] => Undefined variable: a [file] => C:\WWW\index.php [line] => 2 ) __register_shutdown_functi...

Posted:2018-06-06  By vilay

一个有意思的PHP函数-levenshtein  

发现一个有意思的PHP函数 `levenshtein()`,计算两个字符串之间的编辑距离。 官网链接[levenshtein](http://www.php.net/manual/zh/function.levenshtein.php) 官网描述: 编辑距离,是指两个字串之间,通过替换、插入、删除等操作将字符串str1转换成str2所需要操作的最少字符数量。 该算法的复杂度是 O(m*n),其中 n 和 m 分别是str1 和str2的长度 (当和算法复杂度为O(max(...

Posted:2018-06-03  By vilay

Restful 风格可能存在的几个安全问题  

随着restful的流行,现在微服务以及很多api相关应用都采用这种架构风格进行设计。 好处显而易见,但是还是要注意其伴随的安全问题 __1.遗漏了对资源从属关系的检查__ 例如:`/users/10` 有没有验证当前登陆的是否是id为10的用户?如果填的是其它id是否能够获得数据? 当包含多个资源的时候,例如:`/users/10/orders/10` 是否对用户以及订单都进行过验证? __2. HTTP响应中缺失必要的 Security Hea...

Posted:2018-06-03  By vilay