zoukankan      html  css  js  c++  java
  • 避免硬编码你的PostgreSQL数据库密码

    一个密码文件包含了我们需要连接的五个字段,所以我们可以使用文件权限来使密码更安全。

    host:port:dbname:user:password

    such as myhost:5432:postgres:sriggs:moresecure

    密码文件是使用一个叫PGPASSFILE的环境变量来设置的。如果PGPASSFILE没有设置,然后,一个默认的文件名和位置被搜索:

     在*nix系统,检查~/pgpass.

     在Windows系统,检查%APPDATA%postgresqlpgpass.conf,%APPDATA%是路径中应用数据子目录(对我来说,是C:)

    在*nix系统,chmod 0600 ~/.pgpass

    密码文件可以包含多行。每行与请求的host:port:dbname:user组合匹配,直到我们找到一行匹配行,然后我们使用那个密码。

    每个条目可以是一个文本值或*一个可以匹配任何字符的通配符。不支持部分匹配。不支持部分匹配。有了适当的权限,用户可以连接到任何数据库。在dbname和port字段使用通配符是有意义的,虽然在其他字段是没有意义的。示例如下:

    host:port:dbname:user:password

    myhost:5432:*:sriggs:moresecurepw

    myhost:5432:perf:hannu:okpw

    myhost:*:perf:gabriele:maggioresicurezza

    如果你有少量的数据库服务器,这看起来是一个很好的改进。如果你有许多不同的数据库服务器,你可能想使用一个连接服务的文件,或者是把细节存储在LDAP服务器中。

  • 相关阅读:
    扩展方法 之 Asp.Net篇【转】
    PowerDesiGner数据库设计
    DataFormatString格式化字符串的总结
    C#序列化对象为XMl于反序列化
    c# 反射初探【转】
    事件驱动的javascript 【转】
    每日一题力扣598
    每日一题力扣283
    每日一题力扣189数组的旋转 取模这个想法好棒!
    每日一题力扣119杨辉三角
  • 原文地址:https://www.cnblogs.com/songyuejie/p/5351374.html
Copyright © 2011-2022 走看看