Is it ever ok to store password in plain text in a php variable or php constant?

后端 未结 8 2333
借酒劲吻你
借酒劲吻你 2020-11-27 18:58

As per question, is it safe to store passwords on php pages such as

$password = \'pa$$w0rd\';

If the users can\'t see it, it\'s safe, right

8条回答
  •  盖世英雄少女心
    2020-11-27 19:34

    The short answer is both No, and It Depends.

    It's almost never a good idea to store passwords in plain text, especially in a web accessible location, if for no other reason than a simple server misconfiguration or an echo in the wrong place could expose it to the world.

    If you MUST store a password, (which is possible) you could try to store it outside the webroot, eg /var/www/public_html/ Put your codez here
    /var/www/includes/ Put your passwords here

    Even better than that would be to have the system that you need the password for (eg a database wrapper ) return an object already instantiated. so rather than asking for $databasepassword you ask for a PDO object, and store your database classes outside the webroot.

    The It Depends comes from what attack vectors would cause someone to have access to that password text, and would it require them to be already inside your filesystem, if so, you're probably screwed anyway.

    Also, if its the password to your supa-secrit subscriber content, meh, all you've lost is some subscription fees, if its your database, you may have a problem, if it's your online banking details, um good for you.

    How valuable is the thing the password is protecting?

提交回复
热议问题