我是新来使用postgresql与PHP,但似乎不在这里。 9/10例子我见过使用纯文本设置password参数。
例如,这里有一个示例
$con = pg_connect("host='localhost' dbname='testdb' user='postgres' password='password');
这是常见的做法吗? 这是否构成安全风险? 如果是这样,有没有更好的方法来传递password值?
这是一个普遍的做法。 请确保服务器是安全的,您也可以启用postgres来监听SSL,以便传输中的纯文本密码被encryption。 你也可以散列密码并发送给postgres。 请参阅以下关于auth方法的链接。
看到这个更多的信息 – https://stackoverflow.com/questions/97984/how-to-secure-database-passwords-in-php
如果你非常关心安全性,postgres可以通过多种方式提供更多的安全性。 看到这里 – http://www.postgresql.org/docs/9.1/static/auth-methods.html
如果你没有使用明文密码,因为在这种情况下没有任何挑战,所以你使用的任何令牌都可能是攻击者的口令(即使它是一个散列,这是你需要authentication的)。 如果您担心安全问题,请将数据库连接封装在SSL中。