blog icon indicating copy to clipboard operation
blog copied to clipboard

博主太懒了,有时间都在玩游戏,就不爱写博客

Results 60 blog issues
Sort by recently updated
recently updated
newest added

## 手机外框 ![phone](https://user-images.githubusercontent.com/7159888/158004371-8d1b73e5-3d36-4893-8685-c2fed9ac6806.png)

在拉取 `GitHub` 仓库代码的时候卡住一会并出现错误: ``` fatal: unable to access 'https://github.com/xxx/xxx.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated. ``` ## 解决办法 取消代理(经测试,需要每次都要运行以下代码,并不能一劳永逸) ```bash git config --global --unset http.https://github.com.proxy git config --global...

discuz 是一个开源的 php 论坛框架,开源可以免费使用,但只要是开源的就很容易被人研究并找到漏洞,这也是一个没法避免的问题,有得必有失,使用了就要做好跟黑客斗智斗勇的准备。 一般来说,文件(图片)上传这一块是比较容易中招的,因为上传的文件是放到服务器上的,虽然框架做了安全规避,但是只要是程序就会有漏洞,所以条件允许的话,个人还是非常建议把文件上传这一块迁移到第三方的网络存储服务器,比如 “阿里云” 的 OSS。 ## 关于Linux文件锁定保护命令 `chattr` 在介绍以下攻击临时解决方法之前,有必要先介绍下 `chattr` 这个命令以及使用。 具体可以自行百度,这里要用到的是 `-i` 参数,也就是: >设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。 - 锁定文件:`chattr +i 文件名` - 解除锁定:`chattr -i 文件名` - 属性查看:`lsattr 文件名`...

GitHub在国内访问速度慢的问题原因有很多,但最直接和最主要的原因是GitHub的分发加速网络的域名遭到dns污染。 ## 解决方法 ### 1. 修改 `hosts` 文件 绕过国内dns解析,直接通过 IP 形式访问。具体如下: ``` # GitHub Start 192.30.253.112 github.com 192.30.253.119 gist.github.com 151.101.100.133 assets-cdn.github.com 151.101.100.133 raw.githubusercontent.com 151.101.100.133 gist.githubusercontent.com 151.101.100.133 cloud.githubusercontent.com 151.101.100.133 camo.githubusercontent.com 151.101.108.133...

环境搭建

生成小程序具体页面的小程序码,官方给了接口,我们可以通过 postman 来手动生成: 1. 通过 AppId 和 AppScret 获取 [access_token](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html) 2. 通过 access_token 获取 [小程序码](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/qr-code/wxacode.get.html) 3. 通过 access_token 获取 [小程序SCHEME](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html) 4. 通过 access_token 获取 [小程序外部呼起链接](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-link/urllink.generate.html) 注意: - POST 参数需要转成 JSON...

# 北美信用卡支付平台Moneris接入 [Moneris](https://www.moneris.com/) 是北美最大的信用卡支付平台之一,它的优势是安全和费用低,T+1的回款速度。 但是,跟他们打过交道的人都知道,他们的文档写的可真是够乱的,接入方式也有好多种,而且,没有一个集中的文档简单介绍这些。 经过多次的接触和了解之后,总结出来了一些经验,凭记忆大概记录一下。 ## 接入方式 - Hosted Paypage:适合网站 - Checkout Page:适合网站 - API:适合APP、小程序等 ### 1. Hosted Paypage 接入方式 这种接入方式最简单,付款之前只需要请求一个接口获取 Token 参数后,直接跳转到 Moneris 的页面去进行付款,用户整个付款操作都是在 Moneris 的付款页面进行的,包括用户信用卡等信用的录入和验证等;付款完成或者失败后,会有通知回调,这个回调链接可以在 Moneris 后台配置。...

最近公司网站突然访问不了,直接就显示 `Warning: Call-time pass-by-reference has been deprecated` 错误信息了,网上查了下,原来是 php 版本和语法兼容性的问题,解决办法总结如下: 1. 第一种方法、 把 `php.ini` 的 `display_errors = On` 改成 `display_errors = Off` (不显示错误) 2. 第二种方法、`allow_call_time_pass_reference = Off` 变成 `allow_call_time_pass_reference =...

PHP

react 开发过程中,组件是必不可少的,而在一些实际的业务组件里,通常会包含一些异步操作,比如网络请求等。当组件已经被卸载了之后,异步回调处理中进行的一些比如 `setState` 等操作会存在内存泄漏的风险。 ## 处理方式 对组件的 `componentWillUnmount` 事件做处理,当组件被卸载的时候,要不就去停止掉网络请求,要不就对 `setState` 等敏感操作进行判断。 比如,下面一个小组件的处理,可以参考一下(`unmounted` 变量是关键): ```js /** * 图片组件:自动获取图片大小 */ import React, { Component } from 'react'; import { Image, Dimensions }...

前端开发

## 节流 举个例子,我们玩过王者荣耀的都知道,很多英雄的技能基本上都有一个冷却时间(简称CD),在CD时间内,技能只能放一次,放完之后,用户再去点击技能是无效的。 回到前端开发,比如页面上的一个获取验证码的按钮,一般来说都会有 60秒的限制,也就是说,60秒内用户只能点击获取验证码一次,然后就变灰了,60秒后才可以再次获取; 这就是节流。 当然,还有很多场景是要用到节流的,比如: - 滚动加载、加载更多的按钮、滚动到底部的监听 - 搜索框的搜索联想功能 - 表单提交 ## 防抖 举个例子,商场的自动门,当有人通过的时候自动门会自动打开,并会保持一小段时间(比如15秒),如果这15秒之内再没人通过,那么门会自动关上;但是如果在这15秒之内不断有人通过,那么门会一直开着,每次人通过后都会继续等待15秒;然后在最后一个人通过15秒之后,才会自动关门。 对于自动门来说,这15秒的时间就是用来防抖的,防止自动门进行没必要的关闭操作。 同样的,在前端开发过程中,我们也经常遇到类似的情况,比如 resize、input、scroll 等这些触发次数比较频繁的事件,如果不采取防抖措施的话,这些高频的事件会频繁的响应,不但浪费资源,还会大大影响页面的性能。 这个时候,就需要对这些事件的响应函数做防抖了。 ### 怎么做?具体思路: 触发高频事件后,他的响应函数不是马上执行,而是在延时 n 秒之后才会执行一次,如果 n 秒内事件再次被触发,则重新计算时间。 这就是函数防抖的实现方法。 而具体的实现代码,可以百度或者google一下,很容易搜到的。...

前端开发

记一次php上的一个bug,明明服务器上的图片都是没问题的,但是通过 `imagepng` 返回后,就是显示不出来。 检查了好多遍,代码逻辑肯定是没问题的了,因为在最后返回之前,debug 到图片都是没问题的,就是最后返回到前端的时候,总是显示错误。 查了好久,最后把返回的图片通过 base_64 来看看图片内容,竟然发现里面多了个 `77u/` 字符串,如下: ``` data:image/png;base64,77u/iVBORw0KGgoAAAANSUhEUgAAAMYAAADGBAMAAAB7teJuAAAAJqE........... ``` 要知道,base64_decode('77u/') 就是 utf-8 文件的 BOM头 efbbbf,这回知道是怎么回事了,查找下代码,看看是哪个文件然后去掉即可。 本项目查到是一个语言包 `zh_cn/common.php` 的问题,应该是之前这个语言包发给翻译的同事翻译的时候,用 windows 机器打开编辑过的原因。 用 phpstorm 的同学,可以这样去掉:[https://blog.csdn.net/coco1118/article/details/86552410](https://blog.csdn.net/coco1118/article/details/86552410) ## BOM 科普(网上资料)...

PHP