dongtong2021 2017-11-02 14:08 采纳率: 0%
浏览 120
已采纳

PHP:在.ini文件中存储敏感信息是好还是坏的方法?

I'm confused about something and need some explanations.

In my practice I normaly see that 90% of PHP developers all sensitive informations like database connections, FTP, SMTP setup etc. store inside some variable, array, objects or constants.

I wonder now is better to use some ini file out of rootand store there? Or is better to hide somewhere .ini file and denay access via .htaccess?

Generaly, I want to save that sensitive data on most secure way.

  • 写回答

2条回答 默认 最新

  • douan0729 2017-11-02 14:19
    关注

    There is no perfectly safe choice, but some are better than others.

    Don't save sensitive information in your project's source code -- you don't want your passwords and API keys on github.

    Saving sensitive information in a database is fine, but then you still need somewhere to store the database credentials, and you're right back where you started.

    You can save sensitive information in environment variables. These would usually be set up in your web server's configuration file(s).

    Saving sensitive information in an ini file is fine, provided the following:

    • The file has the minimal permissions required.
    • The file is completely outside the web server's document root and thus can't ever be served directly. Don't put the file in your main directory and then use .htaccess to deny access to it.
    • The file is not committed to source control. If you're using git, edit your .gitignore so that the file is ignored.

    These should also go without saying:

    • The user account running the web server process should never have write permission to the files it's serving.
    • Other non-privileged users on the machine running the web server process should not have read access to the files it's serving.
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试