Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

赞一个 #1

Open
mjiong opened this issue Feb 13, 2017 · 5 comments
Open

赞一个 #1

mjiong opened this issue Feb 13, 2017 · 5 comments

Comments

@mjiong
Copy link

mjiong commented Feb 13, 2017

支持一个。
不过后台的异步有点慢。不知道是不是我本地的问题。

@wazsmwazsm
Copy link
Owner

我的本地测试环境是虚拟机装的ubuntu,服务器软件apache,点击基本是20ms左右。上线服务器是境外服务器,延迟高配置低,服务器软件IIS,平均1~2s左右。你参考一下

@mjiong
Copy link
Author

mjiong commented Feb 14, 2017

跟你的差不多。或许是因为这段时间在研究react和vue,所以才有这个感觉吧。
谢谢你的回复呢。

还有一个问题就是,你用js来处理密码加密?
不怕被破解吗?

@wazsmwazsm
Copy link
Owner

wazsmwazsm commented Feb 14, 2017

并没有用js来处理加密,js先进行了sha256签名然后进行AES加密(不传明文密码),AES加密的密钥和向量每次由后台随机生成(每次请求传送的数据都不相同)保存session,有固定时间时效。这一步是为了防止明文密码泄露和防止被抓包后冒充登陆。
后台接收到密码后先进行AES解密,销毁session(这一次请求结束,无法从新用这一次请求传送的密码来登陆)。然后用password_verify来进行和数据库的密码进行比对。
入库的密码是经过sha256签名后再由password_hash来加密的(底层是 crypt加密的动态加盐封装),这一步防止了数据库被破解后密码不会被解密而暴露明文密码。
加解密过程都在admin/controller/Login.php中,你可以看一下。
当然如果遇到中间人能直接从DNS中获取你的请求信息也是可以被攻破的,要进一步安全还是要HTTPS来保证,我的做法也只是保证了相对安全。
tips: 后台登陆还用了CI的防CSRF攻击,添加了token令牌防止重复登陆,都在源码中。

@mjiong
Copy link
Author

mjiong commented Feb 15, 2017

不好意思呢。没仔细看代码。
继续支持你。哈

@wazsmwazsm
Copy link
Owner

谢谢支持。如果有遇到新问题欢迎提问,很乐意为你解答。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants