so im looking to make a login for a website using PHPmyadmin, im pretty new to the whole SQL PHP thing, i can get the tables setup and everything working for the most part, having some issues getting the

session_start(); $DATABASE_HOST = ‘’; $DATABASE_USER = ‘’; $DATABASE_PASS = ‘’; $DATABASE_NAME = ‘’;

part figured out, i know the host is the server IP/location, its the user/pass/database tags im confused about, there is an ANY account on my database admin page that can read data from the databases but is it possible to set it up so that way its an account that only has the ability to read the accounts table? like:

$DATABASE_USER = ‘login’; $DATABASE_PASS = ‘*’; $DATABASE_NAME = ‘Accounts’;

also the database name need to be the name of the database not the table correct? stupid question but just want to be 100% sure i know how some languages can be lol.

also, is it possible to take a users public PGP key, encrypt a random string of text and serve it to them, and have them verify the text with their private key as a way to authenticate identity?

  • Max-P@lemmy.max-p.me
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    also the database name need to be the name of the database not the table correct? stupid question but just want to be 100% sure i know how some languages can be lol.

    Yeah, database name and tables are different things.

    You probably want something like

    GRANT SELECT ON YourDB.Accounts TO YourUser@ClientHostname
    

    Where YourUser@ClientHostname is the user you want to grant the access. You need to create it separately.

    CREATE USER 'accounts_user'@'localhost' IDENTIFIED BY 'SomeSecurePassword'
    

    The ClientHostname part is a way to restrict the source of login. For example, you may only want web servers to be able to log in using that user/password, as a security measure. So if the database ends up accidentally exposed to the Internet, the credentials won’t match the host part and be denied. You can use % to allow everything.