DullCat's Blog

Pragmatism And Open Source Spirit.

JS-复制功能的填坑之路

原生JS的复制功能

本来这只是我笔记本上的一个小小的code snippet,但是最近拿出来复用的时候不断发现新的坑,所以干脆写篇博客,以戒后人 First 最开始我使用的复制代码只有这么一点 坑:只能用于input和textarea,且不能元素不能被隐藏,且选中值为value属性 方法名 类型 描述 ...

PHP的弱类型安全隐患及防范

PHP的弱类型安全隐患,写码尽量使用全等符号

字符串与数字对比 原理: $a = '1DullCat'; $b = 'DullCat1'; var_dump($a == 1); //true var_dump($b == 1); //false intval($a); //1 intval($b); //0 php的对比运算时,是会将两个变量都转换为相同类型,不同变量的无法对比 当字符串和int类型对比时,将会把字符串转化为int类型...

PHP文件下载函数

可用于多人大文件下载

安利两种php的下载函数 1.readfile,获取文件的句柄(注意:这里是句柄而不是文件,所以只占用很小的内存)并将句柄输出到缓冲区 function readfile_download($url, $filename,$opt = null) { //设置http下载消息报文 header("Content-Disposition: attachment; file...

花密--将密码藏在花蕊中

目前最好的密码管理方案

对于密码,想必所有人都不会陌生,现代社会的每一个人几乎都有数不清的密码, 像是银行卡密码,支付密码,手机密码,社交账号密码,游戏密码,网站密码. 账号+密码是现代网络区分用户的必要验证,如果不法分子拥有了你的密码就等于拥有你的账号的所有权限 ,比如提取你在银行的存款,利用你的社交网络进行诈骗等等,密码的重要性不 言而喻,而只要你使用有关个人的服务,你就无可避免的要设置密码. 但是,那么多需...

开发自己的composer包

逼格提升之利器,了解composer如何工作

本猫最近准备开源一个php参数验证的包validate,结果一不小心踩入坑中, 特写此博客,以告后者. 创建一个仓库 有一个能分享的代码,并且规范他 你可以按照自己的命名,但是为了便于讲解,我先贴出较为常见的结构: -src/(主要的代码) --src/Validate.php --src/Rule.php --src/...

Postman使用手册

实用的Postman使用方法

如果你用PHP写web,你可能不需要这个工具,因为你可以直接在视图层直接测试接口是否 达到了你预期的效果. 但是如果你是写App,或者是前后端完全分离的场景,你就会非常需要这个工具. 因为在前后端完全分离的场景,你无法借助html和js来发请求,但是你又必须要进行测试, 一方面你无法百分之百保证接口正常运行,一方面是有底气与不看接口文档就说接口错误 的前端撕逼.所以...

PHP-调试篇

原生PHP的调试函数,xdebug简介

对PHP调试的一点小心得,尽量写的全了一些,以让后来者少走写弯路,如有错误,尽请斧正 基础调试法/打印变量值 php有几种非常简便的调试,相信大多数人都是知道的,echo,print,print_r,var_dump,var_export 这几种都是php自带的调试方法,非常常用,为了便于理解,所以做成了表格 方法名 ...

初涉web安全

对web常用的攻击手段的简介,PHP常用防护方法

最近看了些web安全方面的文章,略有心得,写这篇文章来整理下思路,如有错误,恳请斧正 SQL注入 原理:在web表单中输入恶意sql语句 防御:对用户输入的进行处理,永远不要相信前端js对表单的验证,js是可以禁用的 主要方法: 使用框架自带方法(此类方法较为简便,因为大部分框架都为你做好了处理) 比如常用的tp框架可以使用数组查询条件,字符串查询预处理机制 ...