go语言string、int、int64互相转换

2019-8-25 liyangweb.com 李杨 Golang

import "strconv"  //先导入strconv包


// string到int

int, err := strconv.Atoi(string)


// string到int64

int64, err := strconv.ParseInt(string, 10, 64)


// int到string

string := strconv.Itoa(int)


// int64到string

string := strconv.FormatInt(int64,10)

标签: go golang

评论(0) 浏览(166)

http强转https导致post变get的问题

2019-7-13 liyangweb.com 李杨 PHP

https是大势所趋,现在主流网站都已支持https,但是用户并没有养成输入https的习惯,仍然是输入http,这时候就需要我们将用户的请求强行转成https,以保证用户的数据安全。

今天遇到这样一个问题,在我的一个https页面做登陆的时候,用post方法发送一个表单,但是不论如何和登陆不成功,经过一段时间调试,发现我页面中的表单提交地址是http的,我当然可以直接改提交地址,但是我觉得这应该不是一个完美的做法,于是参考了一下百度的做法。

1.png

百度这里用的并不是301/302,而是307,于是我也试了一下:

server {
	listen 80;
	server_name xxx.com;
	return 307 https://request_uri$request_uri; #关键
}
2.png


提交表单没问题了,大功告成。

评论(2) 浏览(458)

(支付宝)RSA密钥调试工具的一个坑

2019-6-27 liyangweb.com 李杨 PHP

最近在开发支付宝支付,在支付宝后台配置的时候,发现了一个问题,困扰了我半天,终于找到了问题,来记录一下.

支付宝开放平台后台需要我们填RSA公钥(由于我填过了,所以这里是修改),如下图:

深度截图_选择区域_20190627150706.png

深度截图_选择区域_20190627150854.png

下一步将我辛辛苦苦生成的公钥添加进去,贴心的支付宝还给我提供了一个"验证功能"避免我们在对接的时候由于公钥/私钥不对而导致的失败:

深度截图_选择区域_20190627151113.png

深度截图_选择区域_20190627151335.png

调试工具上面写着:"请将JSON串 {"a":"123"}使用填写公钥对应的私钥签名".

赶紧用我自己的签名方法签名试一下.

深度截图_选择区域_20190627151713.png深度截图_选择区域_20190627151729.png

嗯!很好,我的程序一如既往的让我满意.

于是我把这个签名粘贴到支付宝的调试工具里测试.

WHAT?失败了!

深度截图_选择区域_20190627151942.png

紧接着,我花了几个小时来找bug,曾一度怀疑我的签名和验签方法就是个摆设.但是然并卵,于是我翻出支付宝官方给的demo找问题,结果找到了如下一段:

深度截图_选择区域_20190627152430.png

按照这段逻辑来理解的话,那应该是将json串'{"a":"123"}',转成对应的URL参数a=123,于是我再次尝试,

深度截图_选择区域_20190627152740.png

我的程序自然很赏脸,将签名粘贴到支付宝调试工具,终于通过了

深度截图_选择区域_20190627152947.png

法克!支付宝啊支付宝,能不能严谨点?害得我浪费了大半天的时间啊!

如果你也遇到了同样的问题,希望本问恰好帮助到了你.

标签: 支付宝

评论(0) 浏览(463)

layui动态设置checkbox选中状态

2019-5-5 liyangweb.com 李杨 JavaScript

今天在使用jquery动态设置layui的checkbox元素的选中状态时始终只能取消选中,却不能重新勾选,点击勾选则没有问题,代码如下

if (value == "true") {
    $("#select1").attr("checked", "checked");
} else {
    $("#select1").removeAttr("checked");
}

百度很久终于找到一个可用的解决方案,使用prop代替attr,如下:

if (value == "true") {
    //$id.attr("checked", "checked");
    $id.prop("checked", true);
} else {
    $id.prop("checked", false);
    //$id.removeAttr("checked");
}

转自:https://www.cnblogs.com/missile/p/10062723.html


评论(0) 浏览(812)

Chrome浏览器ERR_BLOCKED_BY_CLIENT || Firefox同源

2019-4-28 liyangweb.com 李杨 HTML

今天遇到一个问题,一个接口使用ajax请求失败,使用postman则没问题。

Chrome中显示的错误是net::ERR_BLOCKED_BY_CLIENT

TIM截图20190428095213.png

搞了半天没搞明白是什么问题,又换Firefox继续调试,结果告诉我跨域了

TIM截图20190428095438.png

可是很奇怪,我其他同域名的接口都没问题,就是这个不行,调试了半天,基本排除了跨域的问题。

郁闷了好久,终于发现了问题,原来问题出在URL上,我的URL中包含ad关键字,被广告屏蔽插件当成广告给拦截了。

TIM截图20190428095749.png

其实之前遇到过类似问题的,这次又大意了。之前是页面class名字中包含ad,导致整个div不显示。

总结一下:

页面接口、class名称、id名称、文件名(css、js、img)中都要避免出现ad、advertisement以及其它相关的字样,避免被广告插件拦截。

评论(0) 浏览(737)

记录一个跨域相关的疑难杂症

2018-12-18 liyangweb.com 李杨 PHP

最近在做一个前后端完全分离的项目,这其中自然少不了一个经典的话题——跨域。

前端用的uniapp,后端用的Laravel。

前者刚刚开始接触,用后者也从来没有做过前后端分离的项目,正因为两个都不是特别的熟悉,导致这次在坑中摸爬滚打了好久才爬出来。

阅读全文>>

标签: Laravel 跨域

评论(4) 浏览(2796)

proc_open(): fork failed errors

2018-11-22 liyangweb.com 李杨 PHP

If composer shows proc_open() fork failed on some commands:
PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar

This could be happening because the VPS runs out of memory and has no Swap space enabled.

free -m

total used free shared buffers cached
Mem: 2048 357 1690 0 0 237
-/+ buffers/cache: 119 1928
Swap: 0 0 0

To enable the swap you can use for example:

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

You can make a permanent swap file following this tutorial.


转自:https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors

评论(2) 浏览(2376)

JavaScript中的addEventListener自定义事件

2018-9-17 liyangweb.com 李杨 JavaScript

说到JavaScript事件,我们首先就能想到click事件、submit事件等等。但是有时候这些预定义的事件并不能满足我们的需求,比如在提供给第三方的SDK中。

由于SDK运行的环境非常复杂,第三方业务中有什么代码我们无法预知,这可能会导致事件冲突的问题,这时候我们就需要自定义事件来避免此类冲突了。

阅读全文>>

标签: addEventListener自定义事件

评论(3) 浏览(3480)

父页面于iframe通信

2018-7-18 liyangweb.com 李杨 HTML

下面是一个iframe和父页面相互通信的demo,其中使用了一个非常方便的方法postMessage,但是有时候,我们的子页面可能会包含其他业务逻辑,这里面如果也用到了postMessage,就难免会产生冲突,这时候,我们可以使用自定义事件来解决。

阅读全文>>

标签: iframe

评论(2) 浏览(2270)

PECL、PEAR、phpize、composer 的区别和联系

2018-5-6 liyangweb.com 李杨 PHP

首先,我们先分别了解一下这四个东西的官方介绍。

PECL:

PECL是PHP扩展的存储库,提供了所有已知的扩展和托管设施的目录,用于下载和开发PHP扩展。

PECL使用的包装和分配系统与它的姐妹PEAR共享。

PEAR:

PEAR是一个可重用PHP组件的框架和分发系统。

phpize:

用 phpize 编译共享 PECL 扩展库。

有时候不能用 pecl 安装命令。这可能是因为在防火墙后面,或者是因为想要安装的扩展库还没有 PECL 兼容的包,例如 SVN 中尚未发布的扩展库。如果要编译这种扩展库,可以用更底层的编译工具来手工进行编译。

Composer:

是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

阅读全文>>

评论(1) 浏览(2384)

Powered by emlog 冀ICP备13011830号-1