Miten salasana kantaan

PHP:stä käsin otetaan yhteys paikalliseen MySQL-tietokantaan.
"Koodin seassa oleva salasa" ratkaisu tuntuu huonolta, onko se ainut?
4328
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Jos kerran salasana on tietokannassa, niin sijoita lomakkeelle syötetty salasana mysql-kyselyyn ja vertaa sitä kannassa olevaan salasanaan, kysely sitten palauttaa joko true tai false riippuen oliko salasana oikein tai väärin.
Kysely voisi mennä jotensakin näin:

SELECT id FROM tietokanta WHERE salasana=$syötettySalaSana

Viisaammat parannelkoot...

Äänestä
  • Tarkoitin että php-skriptistä otetaan yhteys tietokantaan, jolloin vaaditaan salasana. Tuntuisi hölmöltä että tämä salasana olisi selväkielisenä skriptin sisällä. siis esim. mysql_connect(..)

    Äänestä

  • kiitos kuitenkin kirjoitti:

    Tarkoitin että php-skriptistä otetaan yhteys tietokantaan, jolloin vaaditaan salasana. Tuntuisi hölmöltä että tämä salasana olisi selväkielisenä skriptin sisällä. siis esim. mysql_connect(..)

    Laita yhteyteen tarvittavat salasanat jne... tärkeät tiedot netin ulkopuoliseen hakemistoon sitten vain includetat ne scriptiisi. Tuolloin netin kautta ei pääse niihin käsiksi vain palvelinkoneilta kuten PHP-tulkki.

    Laita salasanat vaikka muuttujiin
    $salasana = 'x';

    Mutta mielummin käytä vakioita
    define('Salasana', 'x'); mysql_connect(SALASANA, TUNNUS...);

    Tuolloin toki kannattaa kertoa mistä salasanasta on kyse esim $MySQL_salasana tuolloin koodista näkee heti mitä siihen kohti tulee.

    Mutta vielä mielummin tee asetukset luokka

    class Asetukset
    {
    public static tietokanta = array(
    'salasana' => 'x',
    'tunnus' => 'y');
    }

    Sitten vain mysql_connect(Asetukset::$tietokanta['salasana']);

    Tuota tietenkin voi jalostaa niin, että teet oman tietokantaluokan joka sitten syö suoraan tuon Asetukset::$tietokanta taulukon, noin tietokannan käyttö helpottuu sekä koodita vähenee turha toistokin.


    Mikäli et voi laittaa netin ulkopuoliseen hakemistoon tuota tiedostoa niin laita se .htaccess (deny from all) suojattuun hakemistoon.

    http://fi.php.net/define
    http://fi.php.net/manual/fi/language.oop5.paamayim-nekudotayim.php
    http://httpd.apache.org/docs/1.3/howto/htaccess.html

    Äänestä

  • Jejejjeje kirjoitti:

    Laita yhteyteen tarvittavat salasanat jne... tärkeät tiedot netin ulkopuoliseen hakemistoon sitten vain includetat ne scriptiisi. Tuolloin netin kautta ei pääse niihin käsiksi vain palvelinkoneilta kuten PHP-tulkki.

    Laita salasanat vaikka muuttujiin
    $salasana = 'x';

    Mutta mielummin käytä vakioita
    define('Salasana', 'x'); mysql_connect(SALASANA, TUNNUS...);

    Tuolloin toki kannattaa kertoa mistä salasanasta on kyse esim $MySQL_salasana tuolloin koodista näkee heti mitä siihen kohti tulee.

    Mutta vielä mielummin tee asetukset luokka

    class Asetukset
    {
    public static tietokanta = array(
    'salasana' => 'x',
    'tunnus' => 'y');
    }

    Sitten vain mysql_connect(Asetukset::$tietokanta['salasana']);

    Tuota tietenkin voi jalostaa niin, että teet oman tietokantaluokan joka sitten syö suoraan tuon Asetukset::$tietokanta taulukon, noin tietokannan käyttö helpottuu sekä koodita vähenee turha toistokin.


    Mikäli et voi laittaa netin ulkopuoliseen hakemistoon tuota tiedostoa niin laita se .htaccess (deny from all) suojattuun hakemistoon.

    http://fi.php.net/define
    http://fi.php.net/manual/fi/language.oop5.paamayim-nekudotayim.php
    http://httpd.apache.org/docs/1.3/howto/htaccess.html

    Kiitos vastauksesta, juuri tuota hain.

    Äänestä

Kommentoi aloitusta


kannattaisi koodata kirjoitti:

PHP:stä käsin otetaan yhteys paikalliseen MySQL-tietokantaan.
"Koodin seassa oleva salasa" ratkaisu tuntuu huonolta, onko se ainut?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu