【问题标题】:Password protect a file in python密码保护python中的文件
【发布时间】:2018-10-20 08:25:38
【问题描述】:

什么:

有没有办法在 python3 中创建密码保护文件,以防止未经授权的写入?主要重点是写作,不一定是阅读。

如果给出正确的密码,这个文件应该可以被 python 程序追加。

解决方案不应特定于操作系统。

为什么:

我的服务器需要记录消息详细信息并将其写入文件,以减轻拒绝攻击。该文件显然必须被写保护,否则这个目的就失败了。

如何:

有什么想法吗?

注意:

我已经研究过使用 pyminizip 将文件放在受保护的 zip 文件夹中,并使用 os.chmod 命令锁定文件权限。但是,我发现这些解决方案都不适合我。

【问题讨论】:

  • 您描述的方法应该可以正常工作。这些有什么问题(错误消息?)?
  • 您究竟在保护谁的日志文件?如果它是您系统上的用户,那么如果他们可以写入文件,他们几乎肯定也可以删除或截断它,从而破坏日志记录。如果是远程攻击者,他们根本无法修改您的文件,无论是否有密码。
  • @Blckknght 是有道理的。我现在使用这个:with os.fdopen(os.open('test.log', flags, 0o022), 'a') as fout: \newline fout.write("logging info") 来限制权限。它适用于我需要的目的。

标签: python python-3.x password-protection


【解决方案1】:

我认为你可以做这样的事情,但我还没有测试过:V

""" Python密码检查"""

import hashlib
import sys

password = "pasword"

def main():
    # Code goes here
    print "Doing some stuff"
    sys.exit(0)


while True:
    input = raw_input("Enter password: ")
    if hashlib.md5(input).hexdigest() == password:
        print "welcome to the program"
        main()
    else:        print "Wrong Password"

【讨论】:

  • 和?这将如何防止文件被任何进程写入?
  • 我在这里看到了你想要的概念,但这并不是我真正想要的。我想要一个解决方案,以防止未经授权的用户仅在文本编辑器中打开创建的文件并更改其内容。不过,我找到了解决方案,谢谢 - 请参阅我对原始问题的评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-06
  • 2013-09-05
  • 2013-04-26
  • 1970-01-01
  • 2018-05-15
相关资源
最近更新 更多