Skip to content
This repository has been archived by the owner on Jul 3, 2024. It is now read-only.

请问下密码不起作用怎么办? #18

Closed
jysh2009 opened this issue Nov 24, 2021 · 32 comments
Closed

请问下密码不起作用怎么办? #18

jysh2009 opened this issue Nov 24, 2021 · 32 comments
Labels
bug Something isn't working solved The issues that are successfully solved

Comments

@jysh2009
Copy link

Index.php 配置:

'pwd_cfg_path' => '.password', 
'pwd_protect' => true,

.password 也放在根目录了

是用宝塔界面部署的

但是密码不起作用

谢谢

@SomeBottle
Copy link
Owner

能麻烦你提供一下.password的内容吗,md5部分你可以马赛克掉一部分

@SomeBottle
Copy link
Owner

咱再问一下密码不起作用体现在哪方面,是访问对应目录没有提示输入密码还是无论输入什么密码都不通过

@jysh2009
Copy link
Author

image
image
恩,就是不起作用,没有提示输入密码哈 谢谢大佬

@SomeBottle
Copy link
Owner

可以试一下把md5转换为小写吗,应该是大小写敏感的问题了

@SomeBottle
Copy link
Owner

如果改为小写md5可以了,那我知道怎么修这个地方了

@jysh2009
Copy link
Author

image
试了一下也不起作用
但是这个密码配置文件是隐藏的

@SomeBottle
Copy link
Owner

记得删除服务器本地密码缓存,你改了应该不是立刻生效

@jysh2009
Copy link
Author

image
可以了,谢谢大佬哈,是缓存的关系

@SomeBottle
Copy link
Owner

ok,我稍后修复一下,这个地方要做个大小写转换

@SomeBottle
Copy link
Owner

已经修复
https://github.com/SomeBottle/OdIndex/releases/tag/4.6
感谢反馈

@SomeBottle SomeBottle added bug Something isn't working solved The issues that are successfully solved labels Nov 24, 2021
@zanjie1999
Copy link
Contributor

请问一下怎么删除密码缓存,配置了密码但是并没有弹出需要输入密码的提示就直接进去了,删除pwdcache.php后php会直接500错误,删除data目录不会出错但没有效果

@SomeBottle
Copy link
Owner

SomeBottle commented Feb 26, 2023

请问一下怎么删除密码缓存,配置了密码但是并没有弹出需要输入密码的提示就直接进去了,删除pwdcache.php后php会直接500错误,删除data目录不会出错但没有效果

@zanjie1999

image
注释掉这一行,打开PHP报错,如果是500的话应该有报错输出。

印象中我好像没有设计手动清除密码缓存(我的锅😭),目前的方法应该是删掉数据目录的pwdcache.json
image

@zanjie1999
Copy link
Contributor

我将pwd_cfg_update_interval改为0,这样他每次访问都会更新密码缓存,但是我看pwdcache.php里那个变量都是空的,看起来并没有解析到我的密码配置

@SomeBottle
Copy link
Owner

SomeBottle commented Feb 26, 2023

我将pwd_cfg_update_interval改为0,这样他每次访问都会更新密码缓存,但是我看pwdcache.php里那个变量都是空的,看起来并没有解析到我的密码配置

密码配置文件路径是正确的吗
pwd_cfg_path路径是基于base所配置的路径下的。
image

@zanjie1999
Copy link
Contributor

zanjie1999 commented Feb 26, 2023

配置文件在index的旁边,默认的.password我也试过将配置和文件名改成不是隐藏文件的password,无效
文件内容

/123123 e10adc3949ba59abbe56e057f20f883e

base是空

@SomeBottle
Copy link
Owner

SomeBottle commented Feb 26, 2023

文件能列出来吗,还有就是列出的文件中有密码文件吗。
如果文件能列出来但抓不到密码文件就很奇怪了🤔

@zanjie1999
Copy link
Contributor

zanjie1999 commented Feb 26, 2023

/123123是个文件夹,能列出,不询问密码

@SomeBottle
Copy link
Owner

/123123是个文件夹,能列出,不询问密码

数据目录下有pwdcache.json文件吗

@zanjie1999
Copy link
Contributor

我知道为什么了,密码文件要放在onedrive上不是放在服务器上

@SomeBottle
Copy link
Owner

我知道为什么了,密码文件要放在onedrive上不是放在服务器上

哈哈...想起来我之前也干过这种事儿😂
问题解决了就好,咱还以为这个地方出了啥问题

@zanjie1999
Copy link
Contributor

zanjie1999 commented Feb 26, 2023

我使用linux的md5sum创建的md5似乎不正确,密码永远错误,于是我使用了md5jiami.bmcx.com的在线md5,但是只要用了他生成的32位小写md5,就不会显示密码验证,直接列出目录,php中$pwdCfgCache有值
如何才能获取到能用的md5
我看密码是明文传输

@SomeBottle
Copy link
Owner

SomeBottle commented Feb 26, 2023

我使用linux的md5sum创建的md5似乎不正确,密码永远错误,于是我使用了md5jiami.bmcx.com的在线md5,但是只要用了他生成的32位小写md5,就不会显示密码验证,直接列出目录,php中$pwdCfgCache有值

我觉得不是md5的问题,你可以删除数据目录再试一下。
这个项目我写的有点早了,密码不是在客户端进行加密再传输到服务端的,因此不建议使用个人密码。
事实上很多列表程序都是这样做的。

@zanjie1999
Copy link
Contributor

但是确实是这样,改成例子里的e10adc3949ba59abbe56e057f20f883e就可以正常显示密码询问框

@SomeBottle
Copy link
Owner

SomeBottle commented Feb 26, 2023

但是确实是这样,改成例子里的e10adc3949ba59abbe56e057f20f883e就可以正常显示密码询问框

没有出现密码询问框可能是路径写错了而不是md5来着,还有就是你已经通过认证了,可以清除cookie试一下。

@zanjie1999
Copy link
Contributor

zanjie1999 commented Feb 26, 2023

但是同样的路径配置,只更换后面的md5为e10adc3949ba59abbe56e057f20f883e则会显示询问框,使用https://md5jiami.bmcx.com/ 生成的32位小写贴在同一个地方则不会显示询问框直显示文件
还真是,隐身标签页问了,虽然之前填写的密码在之前是错误的密码,但现在是正确的了

@SomeBottle
Copy link
Owner

SomeBottle commented Feb 26, 2023

但是同样的路径配置,只更换后面的md5为e10adc3949ba59abbe56e057f20f883e则会显示询问框,使用https://md5jiami.bmcx.com/ 生成的32位小写贴在同一个地方则不会显示询问框直显示文件

那大概就是你已经通过认证了。你之前应该输入过这个生成的md5,而服务端SESSION已经储存了你的密码md5。清除客户端cookie即可。

@SomeBottle
Copy link
Owner

SomeBottle commented Feb 26, 2023

关于提交密码的时候是明文这方面,其实采用https这样的安全传输协议就可以了,除非有危险软件在客户端截你的密码。
http协议下的网站中输入密码一定要审慎,因为是真明文了。

@zanjie1999
Copy link
Contributor

是这么说,但http的话就不行了,我待会改一下,前段md5再传给php

@n0099
Copy link

n0099 commented Feb 26, 2023

建议hmacsha2

@n0099
Copy link

n0099 commented Feb 26, 2023

#18 (comment)

我使用linux的md5sum创建的md5似乎不正确,密码永远错误

echo -n 'pw' | md5sum

因为echo默认会在stdout末尾额外输出一个\nhttps://stackoverflow.com/questions/38021348/how-can-i-echo-out-things-without-a-newline

$ echo -n '' | hexdump
$ echo '' | hexdump
0000000 000a
0000001

其中0x0a就是trailling \n

@n0099
Copy link

n0099 commented Feb 26, 2023

#18 (comment)

我知道为什么了,密码文件要放在onedrive上不是放在服务器上

#18 (comment) 对此早有预言

很多列表程序都是这样做的

@zanjie1999
Copy link
Contributor

@n0099 原来如此

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working solved The issues that are successfully solved
Projects
None yet
Development

No branches or pull requests

4 participants