Pokaż wyniki 1 do 9 z 9

Temat: SeSje

  1. #1
    Zarejestrowany
    Nov 2007
    Skąd
    Domeczek
    Postów
    7

    Arrow SeSje

    Mój problem dotyczy tego, że niewiem czy napisany przezemnie skrypt logowania jest dobry. Chodzi mi przede wszyskim o to czy w pliku rejestracja.php należy zastosowć sesje czy moge zostawić tak jak jest?

    Mój skrypt składa sie z czterech plików:
    rejestracja.php
    Kod php:
    <?
    if(!empty($login)&&($haslo))
    {
    $login=$_POST['login'];
    $haslo=$_POST['haslo'];

    $zapis=$login."|".$haslo;

        
    $plik=fopen($login.".txt","w+");
        if(
    flock($plik,2))
        {
            
    fputs($plik$zapis);
            
    flock($plik3);
        }
        
    fclose($plik);
            if(
    file_exists($login.".txt"))
                {
                    echo 
    '<a href="login.php">[Dalej]';
                    echo 
    "</a>";
                }
    }else{
    ?>
    <form action="rejestracja.php" method="POST">
    Login<input type="text" name="login"><br />
    Hasło<input type="password" name="haslo"><br />
    <input type="Submit" value="Dodaj">
    </form>
    <?
    }
    ?>
    login.php

    Kod php:
    <?
    if(!empty($login) && !EMPTY($haslo))
    {
        if(
    file_exists($login.".txt"))
        {
        
    $login=$_POST['login'];
        
    $haslo=$_POST['haslo'];

            
    $users=file($login.".txt");
                foreach(
    $users as $dane)
            {
                
    $loghas=explode("|",$dane);
                
    $loghas[0];
                
    $loghas[1];
            }
        if(
    $login==$loghas[0] && $haslo==$loghas[1])
        {
        
        
    session_start();
        
    session_register('login');
        
    header("Location: index.php?".SID);
        exit();    
        }
        }else{echo 
    '<a href="rejestracja.php">[zarejestruj sie]</a>';}

    }
    ?>
    <form action="<?php echo $PHP_SELF?>" method="POST">
    Login<input type="text" name="login"><br />
    Hasło<input type="password" name="haslo"><br />
    <input type="Submit" value="Dodaj">
    </form>
    index.php
    Kod php:
    <?
    session_start
    ();
    if(!isset(
    $_SESSION['login']))
    {
        
    header("Location: login.php");
        exit();
    }
    ?>
    <html>
    <head>
    </head>
    <body>
    <b style="color: blue; font-size: 100px">WITAM Cie</b>
    <?
    echo $_SESSION['login']."<br>";
    echo 
    '<a href="logout.php?". SID>';
    echo 
    '[Wyloguj]</a>';
    ?>
    oraz
    logout.php

    Kod php:
    <?
    session_start
    ();
    ?>
    <body>
    <?php

    echo "Urzytkownik".$_SESSION['login'];
    echo 
    "Został wylogowany";
    session_destroy();
        
    ?>
    Przoszę o podpowiedzi!!

  2. #2
    Zarejestrowany
    Nov 2007
    Postów
    132

    Domyślnie

    Powiedziałbym że to dość ryzykowne rozwiązanie
    Dlaczego wszystkie piosenki są o sexie ,miłości
    i innym pozytywnym gównie
    Nie mogły by być o czystym bólu ,nienawiści i frustracji i innych prawdach których więcej niż mniej ? ......... Ten świat to plastikowe ,fałszywe gówno
    nie mające nic wspólengo z moją rzeczywistością.
    Mtv to nie mój świat
    (tak jestem nie dojrzały ,mam kompelksy ..... i wiecie co? i chuj)

  3. #3
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    samo | przy rozdzielaniu loginu i hasla moze byc klopotliwe jesli ktos w loginie wrzuci sobie taki znak.... dlatego lepiej uzyj ciagu "tralallalakukubebe" :P albo chociaz "--|xx" :P
    http://gogulas.yoyo.pl/h.gif

  4. #4
    Avatar Nikow
    Nikow jest offline -=[ZRP]=-
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Już lepszym rozwiązaniem od rozwiązania gogulasa (czy on nie miał mieć bana?) jest szyfrowanie loginu i hasła base64, wtedy nie musisz się obawiać o wystąpienie znaku | w loginie lub haśle, ponieważ base64 tego znaku nie zawiera:P
    http://nikowek.blogspot.com/
    Zbrojne Ramię Pingwina!
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
    O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
    G+ e- h! r% y?
    ------END GEEK CODE BLOCK------

  5. #5
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    nie do konca lepiej, zalezy o ile dluzsze beda loginy i hasla po zakodowaniu w base....
    "gogulas" == "Z29ndWxhcw=="
    5 znakow wiecej, w 5ciu znakach to na bank zrobisz jakis ciag do exploda ktorego nikt nigdy w loginie nie uzyje... chyba ze pozna kod zrodlowy..
    http://gogulas.yoyo.pl/h.gif

  6. #6
    Avatar Nikow
    Nikow jest offline -=[ZRP]=-
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    No cóż... To prawda że base64 zwiększa długość ciągu o 1/4+(długość_ciągu%3). Bezpieczeństwo to samo, a nawet lepsze niż ty podałeś, więc siedź cicho.
    http://nikowek.blogspot.com/
    Zbrojne Ramię Pingwina!
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
    O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
    G+ e- h! r% y?
    ------END GEEK CODE BLOCK------

  7. #7
    Avatar gogulas
    gogulas jest offline killboy powerhead
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    z 7 do 12 znakow to nie 3% a 70%....
    przy loginach i haslach na dluzszych ciagach raczej nie bedzie operowal...
    a bezpieczenstwo.. coz... ciekawe czy ktos akurat zrobi sobie login z 4 krzakimi typu "-x-y-" daje noge i obie nerki ze nie...
    chyba ze przez "bezpieczenstwo" rozumiesz sam fakt zakodowania w base64 i to ze mialo by to kogos powstrzymac... zal...
    Ostatnio edytowane przez gogulas : 01-27-2008 - 09:36
    http://gogulas.yoyo.pl/h.gif

  8. #8
    Avatar Nikow
    Nikow jest offline -=[ZRP]=-
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Normalnie można by użyć takiego loginu, dzięki base64 żaden login nie spowoduje zagrożenia dla całego systemu. A hasła są najróżniejsze... Przy daniu klucza według twojej metody o długości 4 znaków, mamy co prawda prawdopodobieństwo 2.3283064365386963e-008% na to że taka kombinacja się przydarzy, ale teraz coraz więcej ludzi ma pojęcie o informatyce, a masa nieco ponad script-kiddie lubi zaglądać w ciasteczka i nie raz, nie dwa tworzy dwa konta. Na pewno zauważą powtarzający się ciąg odgradzający hasło od loginu. Gdy zobaczą base64 to za dużo im nie da, a gdy jako login ustawią ten właśnie ciąg? Oczywiście base64 nie ukryje samego hasła, ale pozwoli użytkownikom na większą sfobodę przy dobieraniu hasła i loginu. Zresztą, nie zamierzam z tobą dyskutować na ten temat, ponieważ czuć od ciebie że się nie znasz...
    http://nikowek.blogspot.com/
    Zbrojne Ramię Pingwina!
    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS d- s++:++ a--- C+++ UL+++ P L+++ E--- W++ N++ o K- w--
    O M- V- PS PE Y PGP++ t+ 5 X+ R tv- b++ DI- D-
    G+ e- h! r% y?
    ------END GEEK CODE BLOCK------

  9. #9
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    To ja zwroce jeszcze uwage na jedno...

    Jesli tworzysz plik o nazwie takiej jak login usera to prosisz sie o problemy... co z obsluga UTF, co z nazwami kont ktore nie dadza sie zapisac jako nazwa pliku (np niedozwolone znaki), itd.
    Po drugie jesli juz jakos te dane filtrowac (np zezwolic na [A-Za-z_-.]) to juz lepiej, wtedy pliki beda sie tworzyc ladnie i skladnie... a w pliku nie zapisywac hasla bo za takie cos to sie w dupe zdrowo dostaje - prosta zasada - gdzie jest zapisywany plik?

    Na przykladzie, niech Twoja stronka to bedzie cos a-la forum... masz userow: user1, user2, user3... userN. Teraz wchodze na stronke http://moja.domena.tld/forum/index.php, klikam zaloguj co przenosi mnie do http://moja.domena.tld/forum/login.php co jest logiczne... ale ja sobie wpisuje recznie adres http://moja.domena.tld/forum/user1.txt - tadaaaaaa! Ale ze mnie haxior!

    Proponuje zapisywac te pliki w katalogu do ktorego nie da sie wejsc przez WWW, proponuje trzymac hash'e hasel - minimum MD5 a jeszcze lepiej SHA1... jesli zostawisz to co masz to strona dlugo nie pozyje...
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Podobne wątki

  1. sesje
    By dark angel in forum Hacking
    Odpowiedzi: 4
    Autor: 07-07-2007, 12:35

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj