Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Salasanat, käyttäjätilit, etc

Juhani Sinkkonen [23.05.2013 01:27:11]

#

Tervehdys,

rakentelen parhaimmillaan improvisointiaiheisia nettisivuja kitaristeille. Lähtötaso oli täydellinen noviisi, mutta perusjuttujen opiskelu on osoittautunut ihan mahdolliseksi tehtäväksi. Sivustolle olisi tarkoitus kuitenkin rakentaa salasanan takana oleva osio, joka vaatisi käyttäjätilien ja salasanojen hallintaa.

Millä tekniikalla tuo yleensä hoidetaan, mistä moista voisi opiskella ja kannataako hommaan ylipäätänsä lähteä rajallisella energialla ja ajalla?

Jos täältä sattumalta löytyy joku innokas kitaraharrastaja, voisin myös vaihtaa osaamista päittäin esim. skype-kitaratuntien muodossa, niin ei tarvitsisi ihan kaikkea opetella.

punppis [23.05.2013 02:07:41]

#

Yksi hyvä vaihtoehto on PHP:lla tehty sovellus joka käyttää hyväksi tiedostoja tai tietokantaa (vaikkapa MySQL, se yleisin) käyttäjätietojen säilömiseen. Tärkeintä tässä hommassa on tietoturva. Käyttäjien salasanat on hyvä suolata ja salata jollain tavalla, eli salasanoja ei missään nimessä saa tallentaa sellaisenaan tiedostoon tai tietokantaan. Tietoturva kannattaa ottaa vakavasti, sillä jos sivustoosi kohdistuu esim. tietomurto ja käyttäjien selkokieliset salasanat vuotavat julkisuuteen esim. sähköpostiosoitteiden kanssa, olet niinsanotusti kusessa.

Avainsanoja tässä hommassa on PHP, PDO sekä todennäköisesti MySQL. PHP on ohjelmointikieli, PDO on PHP:lla toimiva tietokantarajapinta ja MySQL on tietokantaohjelmisto (eli tietokanta). Kaikki kolme vaativat tietynlaista tukea käyttämälläsi palvelimella. Jos PHP toimii, niin todennäköisesti myös PDO toimii. Halvimmissa webhotelleissa ei ole välttämättä tukea tietokannoille, jolloin joudut säätämään tiedostojen kanssa.

Putkassa on opas PHP:n, PDO:n sekä MySQL:n käytöstä: https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=mysqlphp01

Samaten löytyy myös koodivinkki salasanojen käsittelystä: https://www.ohjelmointiputka.net/koodivinkit/26822-php-salasanojen-käsittely

The Alchemist [23.05.2013 08:37:00]

#

punppis kirjoitti:

Yksi hyvä vaihtoehto on PHP:lla tehty sovellus joka käyttää hyväksi tiedostoja tai tietokantaa (vaikkapa MySQL, se yleisin) käyttäjätietojen säilömiseen. Tärkeintä tässä hommassa on tietoturva. Käyttäjien salasanat on hyvä suolata ja salata jollain tavalla, eli salasanoja ei missään nimessä saa tallentaa sellaisenaan tiedostoon tai tietokantaan.

Salaaminen on eri asia kuin tiivistäminen. Tietoja salatessa tarkoitus on pystyä palauttamaan alkuperäinen viesti. Salasanojen kanssa näin ei kuitenkaan juuri saa tapahtua, vaan salasanan pitäisi pysyä vain ja ainoastaan sen omistavan käyttäjän tiedossa. Tiivistäminen tarkoittaa sitä, että salasanasta tuotetaan uusi merkkijono, josta ei voi päätellä alkuperäistä salasanaa, mutta jonka tuottaminen muilla syötteillä on käytännön rajoissa liki mahdotonta.

Puheet tällaisista suolaamisista ja muista ovat jo kuitenkin wanhanaikaisia. Php:ssäkin tulee versiosta 5.5 alkaen kätevyysfunktiot salasanojen kunnolliseen käsittelyyn, mutta se on ollut mahdollista jo kauan käyttämällä geneerisempää kryptaus-apia. Suolaus on näissä menetelmissä rakennettu valmiiksi sisään ja koodarin tarvitsee vain antaa funktiolle salasana ja tallentaa tuotettu tiiviste kantaan. Erillistä suolaa ei tarvitse tallentaa mihinkään ja jokainen tiiviste generoidaan aina automaattisesti uutta suolaa käyttäen, jolloin salasanojen murtaminen kollektiivisesti on entistäkin vaikeampaa.

Minusta on melko häkellyttävää, että taas kerran tässä on muka onnistuttu rakentamaan melkein kokonainen webbipalvelu kasaan osaamatta lainkaan perusteita. Miten se muu sivusto on tehty, jos sinulle ei vielä ole kehittynyt osaamista sen verran, että voisit ideoida rautalankamallina kirjautumisen ja sessionhallinnan?

Olisi ehkä kannattanu valita jokin valmis cms-alusta kuten Drupal, WordPress, Joomla tai Contao pohjaksi. Sellaisissa tulevat nämä vakio-ominaisuudet valmiina eikä tarvitse kuin näppäillä.

Juhani Sinkkonen [23.05.2013 18:20:27]

#

The Alchemist kirjoitti:

Minusta on melko häkellyttävää, että taas kerran tässä on muka onnistuttu rakentamaan melkein kokonainen webbipalvelu kasaan osaamatta lainkaan perusteita. Miten se muu sivusto on tehty, jos sinulle ei vielä ole kehittynyt osaamista sen verran, että voisit ideoida rautalankamallina kirjautumisen ja sessionhallinnan?

Ei kai tuossa aloitusviestissä noin sanottu? Puhuin perusjuttujen opiskelusta ja varauduin hyvissä ajoin mahdollisiin sudenkuoppiin. Sisällöntuotanto on toki varsin pitkällä.

Kävin vilkuilemassa noita cms-alustoja ja tuollainen voisi toden totta olla järkevä ratkaisu. WordPressiä olen joskus käyttänytkin (ja mieltänyt sen jotenkin teknisesti rajoittuneeksi), mutta muista en ollut kuullutkaan. Kiitos siis vinkistä, säästit mahdollisesti harmaita hiuksia.

Lebe80 [23.05.2013 18:44:03]

#

Kannattaa katsastaa myös Concrete5, jonka sivujen rakentelu tuntuu vähän enemmän tämän päiväiseltä, eikä sivut ole "rajoittunut" pelkkiin artikkeleihin.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta