• 在OpenErp的配置文件中为数据库密码加密


     

    openerp连接数据库的用户名和密码可以命令行给出, 也可以设置在配置文件中, 如下例所示:
    db_user = openerp 
    db_password = laoliu
     
    因为它使用了明文的密码, 因此就存在一定的安全隐患。 将配置文件中的密码进行加密, 可以在一定程度上提高系统的安全性
     
    openerp在启动时读取配置文件,将配置文件或或命令行中设置的参数保存到了对象configmanager的options之中。因此, 我们可以在配置文件中对某项数据加密, 然后openerp的程序读取options时, 对加密的数据进行解密即可。
     
    加密和解密的方法有许多种,我们必须采用可逆的方法,比如Base64编码:
     
    加密过程: 我们用notepad++打开配置文件, 选择密码, 然后点击菜单 插件 | MIME Tools | BASE64 Encode, 连续点击数次。记录好点击的次数(比如,3次)。
     
    解密过程: 修改tools目录下的config.py
    将文件最末尾的def __getitem__(self, key)改为如下内容
       def __getitem__(self, key):
            res=self.options[key]
            if (key == "db_password") :
                for i in range(3): # 这里的3是连接做base64编码的次数
                    res=res.decode("base64")
            return res
     
    在config.py文件的头部, 还需要加入如下一行, 导入base64编码需要的库
     import hashlib
     
     
    base64编码方式很容易被踩猜到, 特别是末尾有等于号的时候, 因此它很容易被破解。本文只是举例说明修改openerp的方式, 在生产实际中应该使用更安全的加密和解密方式。
     
    为了安全起见, 修改后的config.py文件也应该删去, 只留下编译后的config.pyc文件
  • 相关阅读:
    Apache Maven 入门篇 ( 上 )
    dojo 模块之define
    CORBA 入门(转)
    Java纯POJO类反射到Redis,反射到MySQL
    Ant编译SWF、SWC例子脚本
    转:动态加载SWF,并获取其中的类接口
    Centos上虚拟机搭建
    maven+flexmojos编译swf、swc脚本例子
    博客园中使用MathJax yongmou
    emacs自动补全插件autocomplet和yasnippet,安装、配置和扩展 yongmou
  • 原文地址:https://www.cnblogs.com/chjbbs/p/4310538.html
Copyright © 2020-2023  润新知