Kuinka selvitetään, sisältääkö tiedosto tietyn sanan?

Wish I knew

Miten saa PHP:llä selvitettyä, löytyykö tietystä tiedostosta jokin tietty sana? Vai voiko edes mitenkään?

Luulin, että moinen olis helposti netistä löytyvää peruskamaa, mutta eipä ole Googlekaan auttanut - kaikenlaisia muita tiedoston käsittelyyn liittyviä juttuja kyllä löytyy. Tai sitten en ole vaan osannut etsiä oikein... aloittelija kun olen.

Jos kysymykseni on epäselvä tai epätarkka, niin tässä vähän sitä pätkää, millaisen koodin yhteyteen tollasta tarttisin:

$nimimerkki = $_POST["nimimerkki"];
$salasana = $_POST["salasana"];
$etsittava = "";

Mitäs sitten? Osaisin ehkä netistä löytyvien oppaiden avulla avata ja sulkea tiedoston, mutta sen selvittäminen, löytyykö tuo tietty merkkipätkä eli $etsittava sieltä tiedostosta... en ymmärrä.

Sit jotain:

if(...sana löytyy. Tuleekohan tähän jotain "true"-hommeleita?);
{
echo "Tervetuloa, " . $nimimerkki . "!";
}
else
{
echo "Nimimerkki tai salasana on väärin.";
}

Jos on niin, että menetelmäni salasanojen tallentamiseen on jotenkin väärä, niin saa toki siitä huomauttaa, mutta toivoisin silti, että kysymykseeni vastattaisiin. Pääasiallinen tarkoitukseni ei ole tehdä sivua, jolle tulisi käyttäjiä, sillä mulla ei oo ees sivuja netissä missään, vaan katselen noita kokeilujani omalla koneella. Toki haluan oppia oikeimmat menetelmät, mutta jos virheitä pelkää, ei edisty koskaan. :/

Eli miten - jos mitenkään - selvitetään, löytyykö tietty sana/merkkijono tms. jostakin tietystä tiedostosta?

7

410

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • sdfsdfsd
      • I almost know

        Kiitos kovasti! Noilla se varmaan onnistuu.


    • 234234234

      Tuo sinun koodisi näyttää tietoturvaa ajatellen olevan täysin riittämätön ja huono.

      Ensinnäkin ohjelman pitäisi edes jollain käsitellä käyttäjiltä tulevat syötteet varmistuakseen siitä ettei syöte ole virheellistä tai haitallista.

      Toiseksi salasanat tulisi olla tietokannassa tai vastaavassa hashattyinä vaikkapa SHA1 algoritmilla. PHP:ssä on suorat funktiot hashien totetukseen.

      • Pakollinen nikki

        Kiitos molemmille tiedoista!

        Noh, kunhan kokeilen ensin noita perusjuttuja, niin sitten voi keskittyä noihin tietoturvajuttuihin enemmän. En tajua niistä vielä mitään.

        Salasanat voi kuitenkin kai olla tiedostossa, mutta vaan jotenkin muokattuna, vai? En tajunnut mitään tuosta tietokannasta, joten koitan vältellä sitä toistaiseksi, jos se ei ole välttämättömyys. :D Koitin ladata koneelle jotain MySQL-hommelia, mutta ei onnistunut... *turhautuminen*


      • sdfsfsf
        Pakollinen nikki kirjoitti:

        Kiitos molemmille tiedoista!

        Noh, kunhan kokeilen ensin noita perusjuttuja, niin sitten voi keskittyä noihin tietoturvajuttuihin enemmän. En tajua niistä vielä mitään.

        Salasanat voi kuitenkin kai olla tiedostossa, mutta vaan jotenkin muokattuna, vai? En tajunnut mitään tuosta tietokannasta, joten koitan vältellä sitä toistaiseksi, jos se ei ole välttämättömyys. :D Koitin ladata koneelle jotain MySQL-hommelia, mutta ei onnistunut... *turhautuminen*

        Salasanat voi olla siis tiedostossakin. Tiedostoa voi itsessään käyttää "tietokantana".

        Ja salasanat kannattaa pitää tiedostossa "hasheina".

        kokeiles leikkiä vaikka sha1(); funktiolla

        esimerkki.

        echo sha1("salasana");

        Tuon pitäisi tulostaa sanan "salasana" hashattynä SHA1 algoritmillä. Myöhemmin voit sitten vertailla käyttäjän syöttämää salasanaa tietokannasta löytyvään SHA1 hashiin.

        Lisäksi hashiin kannattaa lisätä "suola". Eli salasanan eteen lisätään randomi tai koodaajan määrittämä merkkijono. Tällöin hashin selvittäminen salasana kräkkereillä vaikeutuu huomattavasti.


      • Roskapostirobotti2
        sdfsfsf kirjoitti:

        Salasanat voi olla siis tiedostossakin. Tiedostoa voi itsessään käyttää "tietokantana".

        Ja salasanat kannattaa pitää tiedostossa "hasheina".

        kokeiles leikkiä vaikka sha1(); funktiolla

        esimerkki.

        echo sha1("salasana");

        Tuon pitäisi tulostaa sanan "salasana" hashattynä SHA1 algoritmillä. Myöhemmin voit sitten vertailla käyttäjän syöttämää salasanaa tietokannasta löytyvään SHA1 hashiin.

        Lisäksi hashiin kannattaa lisätä "suola". Eli salasanan eteen lisätään randomi tai koodaajan määrittämä merkkijono. Tällöin hashin selvittäminen salasana kräkkereillä vaikeutuu huomattavasti.

        Kiitos valaisusta! Nyt tajuan, mitä se suolaaminenkin tarkoittaa!

        Olen tässä leikiskellyt md5:llä ja tuolla sha1:llä, onkohan jälkimmäinen parempi... Pidemmältä ainakin näyttää.


      • sdfsfsdf
        Roskapostirobotti2 kirjoitti:

        Kiitos valaisusta! Nyt tajuan, mitä se suolaaminenkin tarkoittaa!

        Olen tässä leikiskellyt md5:llä ja tuolla sha1:llä, onkohan jälkimmäinen parempi... Pidemmältä ainakin näyttää.

        Sha1 on selvästi parempi. Nykyään löytyy jo pilvin pimein muutenki MD5 cracker sivuja joilla on järjettömät tietokannat md5 hasheista.

        Itse käyttäisin sivulla ehkä jotain vielä tehokkaampaa kuin SHA1


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. On tiedossa, että venäjämieliset diggaavat diktatuurista venäjää

      jossa ei esim. ole sanan- ja lehdistönvapautta. Mutta keitä nämä venäjän palvojat sitten ovat, ei heitä toki paljon ole
      Maailman menoa
      23
      2269
    2. Vihreiden, SDP:n ja Vasemmistoliiton kannattajista selvästi alle puolet on miehiä

      ja silti joku punafeministi valitti kokoomuksen naiskannattajien puutteesta, vaikka siellä on enemmän naisia kuin punavi
      Maailman menoa
      78
      2206
    3. Belfastissa käynnissä kunnon persuilu

      Joku random mamu tekee rikoksen, niin sikäläiset naamiopersut kostavat tuhoamalla kantaävestön omaisuutta. Liekö siellä
      Maailman menoa
      42
      2081
    4. Persujen kannatusromahdus tekee kesästä 2026 nautinnollisen

      Satoi tai paistoi, niin Suomen kansalaisella on kuluvana kesänä syytä hymyyn. Niin upealta tuntuu persujen kannatusroma
      Maailman menoa
      56
      1464
    5. Mitä kirjainta haluaisit

      Ra kastella mahdottomasti?
      Ikävä
      74
      1376
    6. Kaunein nimi

      Mikä on mielestäsi kaunein miehen ja naisen nimi? Haluaisitko itse olla joku toisen niminen?
      Ikävä
      66
      915
    7. Onko kaivattusi rohkeampi kuin sinä?

      Vai oletko sinä rohkeampia? Mikä on rohkea teko, minkä sinä tai kaivattusi on tehnyt? Mitä siitä seurasi?
      Ikävä
      46
      903
    8. Farmi-Amski ja Jucci Hellström - Sydämiä satelee - Onko tässä jotain enemmän?

      Amskidamski Anne-Mari Tarkkio ja Jucci Hellström olivat samaan aikaan Farmi Suomi -realityssä. Nyt somessa on nähty mat
      Kotimaiset julkkisjuorut
      9
      797
    9. Arvaa sattuuko se

      Että teen töitä siihen että unohdan sinut. Mitä muutakaan voin
      Ikävä
      52
      763
    10. Rakastan sinua hiljaisuudessa

      Rakastan sinua hiljaisuudessa. Olisit minun tai et, olen odottanut sinua vuosisatojen ajan. Ilman sinua sydämeni on yksi
      Rakkaus ja rakastaminen
      34
      760
    Aihe