微信图文素材防盗链问题

2018-04-17 10:23:44

在开发微信第三方平台管理时,发现获取微信公众号所有素材时,却无法在浏览器正常显示,图片提示:“此图片来自微信公众平台未经允许不可引用”原来微信图片素材做了防盗链。不过可以在html的head里添加:<meta name="referrer" content="never">这样当前页面中发起的请求就不会携带 referer信息,从而绕过referer检测  更多关于Referer Meta标签的描述如下:转载《使用Referer Meta标签控制referer》本文描述了一个关于 http 协议中 referer 的 metadata 参数的提议,使用这个 metadata 参数,html 文档可以控制 http 请求中的 referer ,比如是否发送 referer、只发送 hostname 还是发送完整的 referer 等。虽然有一些方法可以控...

阅读全文

git常见命令大全

2018-01-31 12:00:00

查看日志 git log 获取从2017-09-11到2017-09-22更新的文件,作者是jesse,时间格式化为2017-09-20,只显示备注 git log --author=jesse --since="2017-09-11" --before="2017-09-22" --no-merges --name-status --date=short --pretty="%ad - %s" 根据备注查询以"上传"开头的的所有字符,支持正则匹配 git log --grep '^求职大赛' --author=jesse --no-merges --name-status --date=short --pretty="%ad - %s" git 创建仓库,初始化 git init 提交代码到仓库 查看文件修改状态: git status git add . git commit -m '备注' git push 撤销未提交的修改 git checkout /var/www/test/index.html /*恢复到上一次提交时的状态,注意:这种方...

阅读全文

关于PDO防御sql注入

2017-12-04 14:57:00

不要对已经被 magic_quotes_gpc或者htmlspecialchars 转义过的字符串使用 addslashes(),因为这样会导致双层转义,或会引起其他问题。 如果使用的是PDO,最好不要使用addslashes来达到sql的防注入目的,因为PDO本身就可以防御sql注入。PDO有一项参数:(参考官方手册)PDO::ATTR_EMULATE_PREPARES 启用或禁用预处理语句的模拟。 有些驱动不支持或有限度地支持本地预处理。使用此设置强制PDO总是模拟预处理语句(如果为 TRUE ),或试着使用本地预处理语句(如果为 FALSE)。如果驱动不能成功预处理当前查询,它将总是回到模拟预处理语句上。 需要 bool 类型。 有网友做过测试: 传送门使用模拟预处理语句(PDO::ATTR_EMULATE_PREPARES = true), php会...

阅读全文

PHP 身份证号码验证

2017-12-01 16:47:32

身份证号码的结构: 要进行身份证号码的验证,首先要了解身份证号码的编码规则。我国身份证号码多由若干位数字或者数字与字母混合组成。早期身份证由15位数字构成,这主要是在1980年以前发放的身份证,后来考虑到千年虫问题, 因为15位的身份证号码只能为1900年1月1日到1999年12月31日出生的人编号,所以又增加了18位身份证号码编号规则。1>.18位身份证号码各位的含义: 1-2位省、自治区、直辖市代码;3-4位地级市、盟、自治州代码;5-6位县、县级市、区代码;7-14位出生年月日,比如19820426代表1982年4月26日;15-17位为顺序号,其中17位(倒数第二位)男为单数,女为双数;18位为校验码,0-9和X。2>.15位身份证号码各位的含义: ...

阅读全文

记一次apache错误异常处理

2017-11-07 15:01:00

服务器apache错误日志出现许多类似下面的问题:script not found or unable to stat: /var/www/cgi-bin/test-cgi script not found or unable to stat: /var/www/cgi-bin/test.sh script not found or unable to stat: /var/www/cgi-bin/test-cgi.pl发现httpd.conf中有部分这样配置: # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about tra...

阅读全文

composer install 与 update区别

2017-09-30 11:20:43

1.composer install如果当前目录下存在composer.lock文件,它会从此文件读取依赖版本;如果不存在,则从 composer.json 文件去获取依赖,并在处理完依赖关系后创建 composer.lock 文件。这确保了该库的每个使用者都能得到相同的依赖版本。2.composer update通过 composer.json 文件去获取更新依赖,更新完成后,会更新 composer.lock 文件为了获取依赖的最新版本,并且升级 composer.lock 文件,你应该使用 update 命令。如果你只是想更新几个包,你可以像这样分别列出它们:composer update vendor/package vendor/newpackage你还可以使用通配符进行批量更新:php composer.phar update vendor/*区别:composer install:(主要)用于生产环境,com...

阅读全文

浏览器兼容性问题解决方案

2017-09-04 16:19:00

普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义不一致导致的。俗话说:没有IE就没有伤害。 贴士:内容都是自己总结的,不免会出现错误或者bug,欢迎更正和补充,本帖也会不断更新。 Normalize.css 不同浏览器的默认样式存在差异,可以使用 Normalize.css 抹平这些差异。当然,你也可以定制属于自己业务的 reset.css <link href="https://cdn.bootcss.com/normalize/7.0.0/normalize.min.css" rel="stylesheet"> 简单粗暴法 * { margin: 0; padding: 0; } html5shiv.js 解决 ie9 以下浏览器对 html5 新增标签不识别的问题。 <!--[if lt IE 9]> <script type="text/javascript...

阅读全文

网站优化 - 雅虎34条军规

2017-08-31 17:23:09

 雅虎给出了优化网站加载速度的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像)。 1.Minimize HTTP Requests 减少HTTP请求图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用 CSS sprites 将小图拼合后利用background来定位。 2.Use a Content Delivery Network 利用CDN技术CDN 确实是好东西,8过服务器提供商的这项服务一般是要收费的,我以前买的国内空间是有这个的但是我当时根本不知道啥用,现在没了。。。 3.Add an Expires or a Cache-C...

阅读全文

php多次自动加载冲突或导致后面加载无效

2017-08-18 16:27:00

使用spl_autoload_register自动加载类时,如果存在2个或多次spl_autoload_register时,当第一次自动载入(require_once文件时),如果文件不存在就抛出异常或者终止时,后面的自动加载(spl_autoload_register)就会失效。 php手册上也有类似说明。 例如:function genericAutoload($class) { if (!require_once($class . '.php')) { throw new Exception("Can't require_once!"); } else { return true; } } function secondaryAutoload($class) { require_once('library/' . $class . '.php'); } spl_autoload_register('genericAutoload'); spl_autoload_register('secondaryAutoload');解决方法有两...

阅读全文

营业执照号正则验证

2017-08-18 15:03:00

市面上现在有2中企业营业执照注册号(统一社会信用代码),一种是15位(从2007年开始),一种是18位(从2015年开始)。 先科普下: 三证合一2015年10月1日起,全国开始推行“三证合一,一照一码”登记模式,即将“营业执照、组织机构代码证、税务登记证”三证合为一证,提高市场准入效率。“一照一码”则是在此基础上更进一步,通过“一口受理、并联审批、信息共享、结果互认”,实现由一个部门核发加载统一社会信用代码的营业执照[2]  。 五证合一在企业和农民专业合作社(以下统称“企业”)“三证合一、一照一码”的基础上,2016年10月1日起,全国开始全面实行“五证合一、一照一码”。即将“营业执照、组织机构代码证、税务登记证、社会保险登...

阅读全文

IE不支持javascript的function中有默认值

2017-08-15 10:44:00

IE不支持javascript的function中有默认值覆盖所有IE版本  详情查看:    官方文档如:function func(id = 1){ return id; }在IE下会报缺少")"的错误。还有其它不支持IE8及以下的javascript function 例子:// ============ isArray ===============// // isArray function isArray(value){ return Object.prototype.toString.call(value) == "[object Array]"; } var arr = [1,2,3,4,5]; alert(isArray(arr)); // IE8 及以下不支持 // ============ Date.now() ===============// // Date.now(); IE8及以下不支持,只能自己写一个解决 if(!Date.now){ Date.now = function(){...

阅读全文

laravel 访问频率限制

2017-07-31 11:00:00

频率限制经常用在API中,用于限制独立请求者对特定API的请求频率。 例如,如果设置频率限制为每分钟1000次,如果一分钟内超过这个限制,那么服务器就会返回: 429: Too Many Attempts app/Http/Kernel.php中有默认设置:'api' => [ 'throttle:60,1', 'bindings', ],这是laravel的默认设置,如果需要修改可以改这里,或者在路由上加上:Route::group(['prefix'=>'api','middleware'=>'throttle:5'],function(){ Route::get('users',function(){ return \App\User::all(); }); });详情参考:http://laravelacademy.org/post/3566.htm...

阅读全文

elasticsearch head插件安装

2017-07-12 18:43:36

 注意:在elasticsearch5.x后,elasticsearch-head插件不能放在elasticsearch的 plugins、modules 目录下,不能使用 elasticsearch-plugin install 1.下载elasticsearch后,进入目录,直接启动:bin/elasticsearch -d 2.安装 elasticsearch-head 3.修改 elasticsearch/config/elasticsearch.yml 在elasticsearch.yml中添加:http.cors.enabled: true http.cors.allow-origin: "*" 4.下载 elasticsearch-head 或者 git clone 安装nodejsgit clone git://github.com/mobz/elasticsearch-head.git cd elasticsearch-head npm install npm run start打开http://localhost:9100/ 如果是ubuntu系统,可能启动...

阅读全文

常用正则验证

2017-07-10 14:15:14

手机号码:/^1[34578]\d{9}$/ 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}  如: 0755-5566778 或 021-12345678 Email地址的正则表达式:if (preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $data['email'])) {} 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 匹配中国邮政编码:[1-9]\d{5}(?!\d) 中国邮政编...

阅读全文

laravel 生成中文测试数据

2017-06-23 18:00:54

在做开发是经常要添加一些测试数据,一个个添加未免效率低而且lower好在别人已经造好轮子,使用faker生成测试数据 1.安装:composer require fzaninotto/faker2.在/database/factories/ModelFactory.php里编写数据填充类型 可以按照默认案例编写。默认生成英文数据,如果要中文数据:需设置: $faker = Faker\Factory::create('zh_CN'); 例如:$factory->define(App\Models\Job::class, function ($faker) { $faker = Faker\Factory::create('zh_CN'); return [ 'job_name' => $faker->jobTitle, 'pay_method' => $faker->numberBetween(1, 3), 'salary' => $faker->n...

阅读全文