Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie, wielu userów, różne strony docelowe
-Darjus-
post
Post #1





Goście







Witam

Mam problem jeśli chodzi o skrypty logowania. Wiem, że jest ich sporo na różnych stronkach, lecz jak dotąd nie trafiłem na ten którego szukam.

BTW: dopiero zaczyna z php i nie jestem w stanie sobie go samemu napisać (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

A więc tak:

Ogólnie chodzi o dość prosty do konfiguracji skrypt logowania dla wielu użytkowników, z możliwością zdefiniowania dla każdego user'a oddzielnej strony docelowej i oczywiście odzielnego hasła (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) .
Umiem wstawić, żeby przy ładowaniu każdej stronki pytał się o hasło i login, ale chodzi mi o coś troszke innego.
Jedna stronka - coś w rodzaju formularza - podajemy dane (login, haslo itp) i przenosi user'a na stronę przypisaną jego nickowi.
Niestety bazy danych MySQL itp odpadają ... tylko na plikach textowych.
Hmmm .... i to w sumie tyle (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Pewnie dla kogoś kto się na tym zna wyda się banalne, ale ja mam z tym "mały" problem.

Z góry dzięki za pomoc
Go to the top of the page
+Quote Post
4 Stron V   1 2 3 > »   
Start new topic
Odpowiedzi (1 - 66)
Speedy
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


Tworzysz sobie plik z informacjami typu:

login||haslo||strona_docelowa

i po zalogowaniu przekierowywujesz użytkownika w przypisane mu miejsce.
Go to the top of the page
+Quote Post
-Darjus-
post
Post #3





Goście







Speedy z tym plikiem z informacjami robiłem podobnie, problem się zaczął jak miałem napisać całą resztę w php. Jak już pisałem wcześniej, dopiero zaczynam php - i są to naprawdę początki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) - z programowaniem wcześniej też nie miałem za wiele wspólnego, jedyne co to z HTML'em ale to trudno nazwać programowaniem.

Dlatego też sądziłem, że może ktoś ma linka do podobnego skryptu php (który mógłbym wstawić, lub się na nim wzorować), lub ewentualnie - jeśli to nie byłby problem - wyjaśnić dokładnie jak ten skrypt napisać .... tak żeby zrozumiał to taki laik z programowania jak ja (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
-rad3k-
post
Post #4





Goście







ja się dopisuje do tematu. Zrobiłem tam. Ktoś wpisuje adres strony. No wiec otwiera się plik index.php. Użytkownik widzi:

podaj login: |________|
podaj hasło: |________|
WYŚLIJ

jako action podaje adres strony głównej na której początku mam taki o to skrypt:

<?php
session_start();
$_SESSION['username'] = $_POST['user'];
$_SESSION['userpass'] = $_POST['pass'];
$_SESSION['authuser'] = 0;

  1. <?php
  2. if (($_SESSION['username'] == 'xxx') and ($_SESSION['userpass'] == 'xxx')) {
  3. $_SESSION['authuser'] = 1;
  4. } else {
  5. echo "Spróbuj jeszcze raz";
  6. exit();
  7. }
  8. ?>
  9.  
  10. <html>
  11. <head> ..... i tu się zaczyna właściwa treśc strony.


No i teraz problem jest taki, że chciałbym sobie wprowadzic do pliku np. data.txt własnie coś takie jak już ktoś wcześniej sugerował czyli
Kod
|login1|hasło1|logn2|hasło2|login3|hasło3| itd.


I teraz ie wiem jak to zrobic bo narazie moze zalogowac sie tylko jedna osoba o loginie xxx i haśle xxx. A chciałbym tak zrobic zeby mogła zalogowac się każda osoba wpisana do pliku data.txt.

Z php bawię sie 3 dni i bardzo prosze o pomoc - logowanie to mi jest bardzo potrzebne. I jeśli można to napiszcie co mam uzupełnic.
Go to the top of the page
+Quote Post
crash
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


baza.txt:
Kod
crash|haslo
test|test
admin|superhaslo


  1. <?php
  2. function getUsers( $file )
  3. {
  4.  $data = @file( $file );
  5.  $ret = array();
  6.  
  7.  foreach( $data as $line )
  8.  {
  9. list( $login, $passwd ) = explode( '|', trim( $line ) );
  10.  
  11. if( !empty( $login ) and !empty( $passwd ) )
  12. {
  13.  $ret[ $login ] = $passwd;
  14. }
  15.  }
  16.  
  17.  return $ret;
  18. }
  19.  
  20. print_r( getUsers( './baza.txt' ) );
  21. ?>


Wynik:
Kod
Array
(
    [crash] => haslo
    [test] => test
    [admin] => superhaslo
)


Wszystko czego potrzeba...
Go to the top of the page
+Quote Post
-rad3k-
post
Post #6





Goście







? ? ? chyba ze mnie niezły tępak. No cóż. Jeszcze raz napisza co i jak mam zrobione i jesli możecie to skopiujcie to moje, zedytujcie i wklejcie.

1. index.php --> tu użytkownik podaje swoje hasło i login. Następnie klika wyślij dane zostają przesłane do pliku index2.php

index2.php
  1. <?php
  2. $_SESSION['username'] = $_POST['user'];
  3. $_SESSION['userpass'] = $_POST['pass'];
  4. $_SESSION['authuser'] = 0;
  5.  
  6.  
  7. if (($_SESSION['username'] == 'rado') and ($_SESSION['userpass'] == 'rado')) {
  8. $_SESSION['authuser'] = 1;
  9. } else {
  10. echo "Spróbuj jeszcze raz";
  11. exit();
  12. }
  13. ?>
  14.  
  15. <html>
  16. <head> . . . no i tutaj znajduje się treśc strony tzn. Menu i inne ..... 


w tym samym katalogu mam plik dane.txt
o treści

Kod
xx1|xxa
xx2|xxb
xx3|xxc


czyli login|hasło

Tak jak prosiłem. Skopiujcie, zedytujcie i wklejcie plik index2.php.

Czyli jeszzcze raz. Chodzi o to, że ktoś otwiera strone i pokazuje mu się okienko logowania - wypełnia, a dane zostają przesłane do pliku index2.php który sprawdza w pliku dane.txt czy hasło i logn jest poprawne. Jeśli tak to pokazuje treśc tego pliku czyli to co pomiędzy <body></body>.
Go to the top of the page
+Quote Post
tiraeth
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Baza użytkowników (users.dat):
Kod
crash||haslo||strona_docelowa.php
user||pass||homepage.php
lolek||lolus||lolek_page.php


Plik z logowaniem (index.php):
  1. <?php
  2.  
  3. if($_POST['user'] == "" || $_POST['pass'] == "")
  4. {
  5. ?>
  6. <form name="logowanie" action="index.php" method="POST">
  7. Login: <input type="text" name="user" /><br />
  8. Hasło: <input type="password" name="pass" /><br />
  9. <input type="submit" name="submit" value="Zaloguj" />
  10. </form>
  11. <?php
  12. }
  13. else
  14. {
  15.  $file = file("users.dat");
  16.  foreach($file as $userdata)
  17.  {
  18. list($login, $haslo, $redirect) = explode("||", $userdata);
  19. if($login == $_POST['user'] && $haslo == $_POST['pass'])
  20. {
  21.  $_SESSION['username'] = $_POST['user'];
  22.  $_SESSION['user_logged'] = time();
  23.  $_SESSION['redirect'] = "/" . $redirect;
  24.  
  25.  header("Location: " . $redirect);
  26. }
  27.  }
  28.  header("Location: index.php");
  29. }
  30. ?>


Na początku plików dla każdego użytkownika:
  1. <?php
  2.  
  3. if($_SERVER['PHP_SELF'] != $_SESSION['redirect'] || !isSet($_SESSION['user_logged']))
  4. {
  5.  unset($_SESSION['user_logged']);
  6.  unset($_SESSION['username']);
  7.  unset($_SESSION['redirect']);
  8.  header("Location: index.php");
  9. }
  10. ?>
Go to the top of the page
+Quote Post
-rad3k-
post
Post #8





Goście







dzięki - zaraz sprawdze jak to działa - wprawdzie nie chodziło mi o to żeby dla każdego użytkownika inną stronę ale myśle że jakoś to sobie dostosuje.

Jakby ktoś zechciał przerobic ten mój to byłbym bardzo wdzięczny:D
Go to the top of the page
+Quote Post
rad3k
post
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


zrobiłem dokłądnie jak kazałeś tzn.

index.php
users.dat
glowna.php

wszytskie w jednym katalogu

nic nie zmieniałem w treści tylko skopiowałem. Jedynie plik users.dat zmieniłem na taką postac:

Kod
xx||xx||glowna.php
yy||yy||glowna.php
zz||zz||glowna.php


jak wpisuje hasło i login to mi wyskakuje mi znowu okienko logowania

Najbardzie by mi zależało na skrypcie, który sprawdzi plik users.txt i wyciągnie z niego login hasło i zapisze je jako $login $hasło

Ten post edytował rad3k 5.02.2006, 00:06:48
Go to the top of the page
+Quote Post
-Soja-
post
Post #10





Goście







Fakt - po wpisaniu loginu i hasła - wyskakuje ponownie strona z logowaniem.
Byłbym też bardzo wdzięczny jakby ktoś to wyjaśnił
Też parę dni się męczę z jakimś kodem ale jakoś nie idzie.
Próbowałem gotowych skryptów i NO WAY .
Widocznie jestem bardzo tempy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) i mogę tylko prosić o gotowy KOD.

jeśli tego nie uda się objaśnić - może ktoś podejmie się napisania:
dla mnie:
Jest strona główna index.php na niej powinny być okienka na login i pass.
Są tylko 2 userzy , po wpisnaiu jednego zestawu ( login i pass ) Przenosi nas na jedną strone , a po wpisaniu drugich - na drugą.
Chciałbym aby te dane ( login i pass ) nie były ukryte w źródle strony - bo wtedy każdy może je sobie wyciągnąć.

WIem że takich tematów było conajmniej 10 przejżałem większość jednak nic nie potrafię ustawić.
Pomocy
Go to the top of the page
+Quote Post
-Darjus-
post
Post #11





Goście







tiraeth dzięki (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) właśnie o coś takiego mi chodziło. Skrypt byłby idealny (przynajmniej jak dla mnie) gdyby nie jedno ale ....

po wypełnieniu formularza zawsze przenosi z powrotem do index.php, a nie do zdefiniowanej stronki (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Wiem, że to może banalane pytanko, ale jak to naprawić żeby działało tak jak powinno (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
Speedy
post
Post #12





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


może spróbuj usunąć z pliku
Kod
header("Location: index.php");


na początku jest ustalone, że ma się ładować zdefiniowana strona, a potem index.php - być może w tym tkwi problem (nie wiem - nie sprawdzałem).
Go to the top of the page
+Quote Post
-Darjus-
post
Post #13





Goście







Wielkie dzięki Speedy (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Teraz wszystko działa tak jak powinno (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

Jeszcze raz dzięki za rozwiązanie mojego problemu

Pozdrawiam
Go to the top of the page
+Quote Post
rad3k
post
Post #14





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


Dzięki! ! ! Wprawdzie nie jest to skrypt którego ja potrzebuje ale w końcu to chyba nie mój temat. Może jakoś uda mi się go dopasowac do moich potrzeb

Ten post edytował rad3k 5.02.2006, 16:42:08
Go to the top of the page
+Quote Post
-Soja-
post
Post #15





Goście







U mnie niestety nie działa - po wpisaniu obojętnie jakiej wartości - przenosi mnie na strone "news.php" :| nie mam pojęcią skąd (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

wprawdzie w dalszej części strony jest zinkludowana podstrona news.php ...
:/
help
Go to the top of the page
+Quote Post
revyag
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Przeczytaj dokładnie topic, mam nadzieje że nie zrobiłeś ctrl+c,ctrl+v i lecisz na forum z tekstem że nie działa, hmm ?
Go to the top of the page
+Quote Post
rad3k
post
Post #17





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


ja się męcze z tym dwa dni. O php nie mam zabardzo pojecia, a skrypt musze zrobic wiec prosze o pomoc.

no to co zaobserwowałem. Skrypt w orgialnej wersji nie działa. Jak juz ktoś sugerował usunąłem
Kod
header("Location: index.php");
, ale problem w tym że ten header jest wpisany zarówno do index.php jak i stron docelowych każdego użytkownika? Próbowałem usuwac na rózne sposoby. I oto co zaobserwowałem - raz mi się logował na poprawne hasło ale wtedy nie było to żadne zabezpieczenie bo wystarczyło w przeglądarce potem strone docelową i ominąc logowanie. innym razem znowu nie da się pominą logowania ale jak się loguje to zawsze powraca do index.php i tak wkoło.

Ten post edytował rad3k 5.02.2006, 17:40:14
Go to the top of the page
+Quote Post
-Darjus-
post
Post #18





Goście







rad3k wiem o co Ci chodzi ... planowałem wykorzystać ten skrypt do prostego logowania na pewnej małej stronce - nazwijmy to "domowej". W związku z czym nie zależało mi na ochronie stron docelowych przed "podlinkowaniem". Mała grupa docelowych userów itd.

Jednak skoro już to zostało poruszone ... to czy da się zmodyfikować np. ten skrypt napisany przez tiraeth'a tak aby zawsze wymuszał logowanie do strony docelowej, - tak jak napisałeś - aby nie dało się przy wchodzeniu na nią po raz kolejny z tego samego kompa skorzystać z adresów w historii (albo podać gotowy adres) i pominąć logowanie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Jakby dorzucić jeszcze tę opcję to powstałby nam tu całkiem fajny system logowania (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
Go to the top of the page
+Quote Post
rad3k
post
Post #19





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


dokładnie - ja robie stronke klasowa i chciałbym nadac 20 par login||haslo ale jednak wolałbym żeby inni nie mieli wstepu do strony (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Darjus
post
Post #20





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2006

Ostrzeżenie: (0%)
-----


Czyli robimy podobne strony (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) przynajmniej jeśli chodzi o ich przeznaczenie.
U mnie dochodziło jeszcze to aby każdem userowi można przypisać inną stronkę ... i to już jest (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jakby znalazł się ktoś, kto wymyśli jak do tego "naszego skryptu" dorzucić sprawdzanie logina i hasła przy każdym wejściu na stronkę, to byłbym wdzięczny.

Niestety sam nie umiem wykombinować jak to zrobić (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) a jak już zaczynam samemu coś mieszać to wszystko się sypie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
rad3k
post
Post #21





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


heh - dokładnie tak jak u mnie - jak tylko sam coś dopisze to katastrofa. No ale takie są początki - fajnie jakby ktoś nam to pokazał i to w jak najprostszy sposób bez udziwnien wtedy możnaby to zrozumiec.
Go to the top of the page
+Quote Post
-Guest-
post
Post #22





Goście







Podobnie jak ja:P tyle że na mojej stronce ma być tylko dwóch userów - dla każdego inna strona po zalogowaniu i ochorna przed wyciągnięciem haseł ze źródła zrony - oraz zabezpieczenie przed wejśćiem po wpisaniu linka do miejsca tylko dla posiadaczy Konta ...

Na php też się nie znam - niestety (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ale muszę to szybko wykonać.
Przecież taki skrypt nie powinien być trudny ...
proszę również o Pomoc (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif)
Go to the top of the page
+Quote Post
-Soja-
post
Post #23





Goście







to ja napisałem post powyrze - przepraszam że nie zatytuowałem i że troszkę bałaganię (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Cóż - również wykonałem wszystko według polecenia ( tak mi się zdaje przynajmniej (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif) ) i na stronie głównie wpisuje obojętnie jaki zestaw pass i login - czy dobry - czy też zły i tak nic się nie dzieje - nadal mam index przed oczami.

Może wystarczy jakaś niewielka poprawka aby to działało ?
Pozdrawiam
Go to the top of the page
+Quote Post
Darjus
post
Post #24





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2006

Ostrzeżenie: (0%)
-----


Hmmm ...... widzę że nie tylko ja mam z tym problem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

W tym topicu było już trochę przykładowych skrytpów, pomysłów, jednak żaden nie działał w 100% tak jak powinien ... chociaż w porównaniu z moimi umiejętnościami co do php, wszystkie były super (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Skrypt tiraeth był prawie idealny, niestety aby działał trzeba było usunąć (chyba) linie (w index.php i każdej stronie docelowej):

Kod
header("Location: index.php");


po tym zabiegu możliwe stało się logowanie do sprecyzowanych stron, jednak umożliwiło to również podlinkowanie tej strony ....


Reasumując:

Czego poszukujemy - ja, rad3k Soja (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i może ktoś jeszcze


możliwie najprostszy ale skuteczny system logowania
wielu użytkowników, przypisane im hasła, i indywidualne strony docelowe
weryfikacja przy każdym wejściu czy zostało podane hasło i login - blokada przed podlinkowaniem strony docelowej


Forma:

strona główna np.: z formularzem - login i hasło
plik z danymi np.: login||hasło||strona_docelowa
strona docelowa użytkownika zabezpieczona przed podlinkowaniem


To jak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) nikt nie pomoże (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Sprawa może błacha dla kogoś kto się zna na php, ale dla mnie to ważne.
Jakby komuś nie sprawiło problemu poświęcić temu zagadnieniu parę minut to byłbym bardzo wdzięczny.
Go to the top of the page
+Quote Post
strife
post
Post #25





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Nie miałem co robić to pozwoliłem sobie sklepać kolejny skrypt logowania specjalnie dla Was. Wyniki mojej pracy można zobaczyć pod adresem: [ Podgląd ] [ Źródła ]

Hasło do każdego z użytkowników to: demo, w źródłach możecie zobaczyć jakie są loginy. Przykładowe logowanie może wyglądać:

Login: User
Hasło: demo

Strona użytkownika jest zablokowana, dopiero po zalogowaniu jest dostępna, każdy użytkownik może mieć inną swoją stronę. Chyba o to wam chodziło, tak wywnioskowałem z poprzednich postów.

Zapraszam do przejrzenia kodów (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam!
Go to the top of the page
+Quote Post
rad3k
post
Post #26





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


nie wiem czy działa - zaraz sprawdzę ale tak czy tak dzieki, że sie zainteresowałeś. Dwóch pozostałych użytkowników też napewno bedzie Ci wdzieczna (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował rad3k 6.02.2006, 18:26:41
Go to the top of the page
+Quote Post
-Soja-
post
Post #27





Goście







o ładnie :* Działa Wszystko na moim servie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) - tylko mam parę pytań jeszczę.
Wiem że każdy normalny by to sam ustawił - przepraszam że taki jestem tempy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

1.)

Kod
1||User||fe01ce2a7fbac8fafaed7c982a04e229||http://website.com
2||User2||fe01ce2a7fbac8fafaed7c982a04e229||http://example.com


Jakim sposobem jest kodowane to hasło i jak mogę wpisać tutaj moje Hasła ? jest jakiś generator tego kodowania ?

2.)

Po wpisaniu dobrego loginu przenosi mnie na strone
Kod
Witaj [ Wyloguj ]
Na swojej prywatnej stronie, jest ona tylko dla Ciebie mozesz sobie tutaj robic co tylko chcesz

Twoj login: User
Strona www: http://website.com


Da się zrobić - aby odrazu przenosiło na tę strone z users.dat ? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
[/CODE]
Go to the top of the page
+Quote Post
Darjus
post
Post #28





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2006

Ostrzeżenie: (0%)
-----


Witam strife

po pierwsze wielkie dzięki, że wogóle chciało Ci się tym zająć. Sam system logowania jest świetny, nie da się go obejść. Super też, że pokusiłeś się o przykład jak on działa.

Troche wstyd się przyznać ale mam pare pytanek .... pewnie dość głupich ale i tak je zadam:

1) pilk users.dat --> hasło "demo" jest tam zakodowane, oki, ale w takim razie jak dopisać swoje własne (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) gdy zmieniłem je na moje - zapisane w normalnej postaci, nie dało się zalogować

2) user_page.php --> hmmm .... pewnie znowu coś pokręciłem, z tego co przejżałem kod, to do każdego usera ładuje się ta sama strona, ... fakt zawiera odpowiednie przyporządkowane zmienne login i stronkę usera, jednak strona która się ładuje jest identyczna dla kazdego użytkownika ... a rożni się adresem strony (pobranym z users.dat) napisanym na tej stronie ... szkoda że automatycznie nie przenosi na tą stronę.

Hmmm .... nie chciałbym wyjść na kogoś kto cały czas wybrzydza - przy czym sam nic nie umie zaprezentować, i daleki jestem od tego ...
strife Twój skrypt działa ... jednak ja nie jestem w stanie go dopasować do swoich potrzeb ... chyba po prostu jestem z tego za cienki.
Wierzę jednak, że pozostałym na tym topicu się przyda.

Jeszcze raz dzięki za zainteresowanie naszym problemem.
Go to the top of the page
+Quote Post
strife
post
Post #29





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Nie ma problemu, przecież w końcu po to powstało to forum, a ja lubię pomagać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ad.1 md5
Przykład:
  1. <?php
  2.  
  3. echo md5( 'demo' );
  4.  
  5. ?>


Ad.2. - Wystarczy wyciąć ten kawałek kodu z user_page.php:
  1. <?php
  2.  
  3.  $arr     = getUsers( 'users.dat' ); 
  4.         $You     = $arr[ $_SESSION[ 'Name' ] ]; 
  5.  
  6.         echo 'Witaj [ <a href="?logout" >Wyloguj</a> ] <br /> Na swojej prywatnej stronie, jest ona tylko dla Ciebie mozesz sobie 
  7.               tutaj robic co tylko chcesz <br /><br />'; 
  8.                
  9.         echo 'Twoj login: <b>' . $_SESSION[ 'Name' ] . '</b> <br />'; 
  10.         echo 'Strona www: <b>' . $You[ 2 ]  . '</b> <br />';
  11.  
  12. ?>

A następnie zamiast tego wkleić:
  1. <?php
  2.  
  3. header( "Location: " . $You[ 2 ] );
  4.  
  5. ?>


Czy o to chodziło ?

Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-Soja-
post
Post #30





Goście







No u mnie coś nie działa po tej wycince i modyfikacji ... :/
po zalogowaniu wraca mi na stronę główną tam co się logowałem - w miejscach FORM pisze że jestem już zalogowany jako Marcin.
Hmmm w jednej strony to dobrze ale musiałbym pod to stronke zrobić.

A czy da się tak zrobić żeby po zalogowaniu poprosu przechodziło na tą docelową strone (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ?
Go to the top of the page
+Quote Post
Darjus
post
Post #31





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2006

Ostrzeżenie: (0%)
-----


Co do kodowania - to już wszystko jest u mnie jasne.

Jednak nadal mam problem z pkt 2
Zastąpiłem ten kod tak jak napisałeś ... po zalogowaniu nie ładuje się żadna strona ... tzn ładuje się błąd, że nie może jej znaleźć ... przy powróceniu z powrotem do main_page.php pojawia się czasem, że już jestem zalogowany ...

przejżę to jeszcze raz, może coś źle zmieniłem ...

Hmmm .... nie mógłbyś może napisać jak w całości ma wyglądać kod user_page.php , tak aby po zalogowaniu się użytkownika od razu przenosiło go bez problemów do strony podanej w users.dat (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
strife
post
Post #32





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Tym razem ja się pomyliłem, nie dodałem wyciągniętego adresu strony www do skryptu, kod który trzeba wstawić w miejsce wyciętego to:
  1. <?php
  2.  
  3. $arr  = getUsers( 'users.dat' ); 
  4. $You  = $arr[ $_SESSION[ 'Name' ] ]; 
  5. header("Location: " . $You[ 2 ] );
  6.  
  7. ?>

[ Podgląd ] [ Źródło ]

Mam nadzieję, że teraz trafiłem. (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) W każdym bądź razie teraz skrypt będzie przekierowywał na adres podany w users.dat u danego użytkownika.

Pozdrawiam!
Go to the top of the page
+Quote Post
-Guest-
post
Post #33





Goście







oo Wielkie Dzięki - jesteś WIELKI strife (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)

Ja jednak wykombinowałem tam poprostu zwykły link OK który przenosił (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) dalej ...

To naprawde BOMBA ! niespodziewałem się że ktoś może być taki życzliwy i bezinteresownie pomóc ...
Dziękuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-SOJA-
post
Post #34





Goście







grrr znów zapomniałem wpisać NICKU ;p Przepraszam za BAŁAGAN (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)
Zarejstruję się - Warto na tym forum ! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
rad3k
post
Post #35





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


u mnie wszystko super działa i jest tak jak by mi się podobało - bo ja wolałem z tym że każdemu jedna stronka się wyświetla a tak to macie i wy swoją wersje i ja swoją. Wielkie dzięki!

Na początku byłem troche zmartwiony: zapisałem sobie te 3 pliki jako *.php a jak je wysłałem na serwer i wpisałem adres to mi wyskakiwał kod php zamiast treśc. Poprosty wyświetlił cały kod. Potem w formularzu dopisałem
<html><body> ...formularz... </body></html> i dałem sobie spokój nawet nie sprawdziłem. No i teraz po godzinie sprawdzam i działa. HURRA!

WIELKIE DZIKI - szkoda że nie można dawac na tym forum punktów "pomógł".
Go to the top of the page
+Quote Post
Darjus
post
Post #36





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2006

Ostrzeżenie: (0%)
-----


Super (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) działa przynajmniej u mnie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Naprawdę jestem pod wrażeniem - zarówno Twoich umiejętności jak i tego że nam pomagasz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ale mam kolejne pytanko ... (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)

od pewnego czasu w tym temacie pojawiał się - pominięty przeze mnie na starcie - problem podlinkowania strony docelowej ...

Nie wiem czy to dobrze wytłumacze:
1) korzystam z Twojego skryptu
2) użytkownik (powiedzmy "User") loguje się, przenosi go do zdefiniowanej podstrony w moim serwisie
i teraz
3) przychodzi ktoś trzeci, sprawdza historie i już bezpośrednio podaje adres strony przewidzianej dla Usera --> bez podawania hasła może sobie ją wczytać .... da się coś z tym zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Wiem, że wydziwiam ... sorry (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) już nie będę (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Zresztą nieważne - jeszcze raz wielkie dzięki za świetny skrypt

BTW: a tak swoją drogą jakby robili tutaj konkurs na najlepszego specjalistę z php to masz u mnie 1 miejsce (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)

Pozdrawiami życze miłego wieczoru.
Go to the top of the page
+Quote Post
strife
post
Post #37





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(Darjus @ 2006-02-05 23:03:32)
Super  (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)   działa przynajmniej u mnie  (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Naprawdę jestem pod wrażeniem - zarówno Twoich umiejętności jak i tego że nam pomagasz  (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Cytat
od pewnego czasu w tym temacie pojawiał się - pominięty przeze mnie na starcie - problem podlinkowania strony docelowej ...

Nie wiem czy to dobrze wytłumacze:
1) korzystam z Twojego skryptu
2) użytkownik (powiedzmy "User") loguje się, przenosi go do zdefiniowanej podstrony w moim serwisie
i teraz
3) przychodzi ktoś trzeci, sprawdza historie i już bezpośrednio podaje adres strony przewidzianej dla Usera --> bez podawania hasła może sobie ją wczytać .... da się coś z tym zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Nie bardzo. Nie usuniesz nikomu jego historii stron, które przeglądał z przeglądarki. Tak samo nie zabronisz przeglądarce wpisywać adresów tych stron do historii.
Cytat
BTW: a tak swoją drogą jakby robili tutaj konkurs na najlepszego specjalistę z php to masz u mnie 1 miejsce  (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)

Zaręczam Cię, że na tym forum są dużo lepsi, jednak mimo to dziękuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Cytat
Pozdrawiami życze miłego wieczoru.

Wzajemnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

@Darjus - no ja też mam ciężki dzień jutro. Zawsze możesz liczyć na pomoc na PW albo na gg jak będę. Pomogę jak będę umiał (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Darjus
post
Post #38





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2006

Ostrzeżenie: (0%)
-----


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

hmmm ..... kiedyś znalazłem gotowy skrypt - nie znam autora.
było tam wiele użytkowników, jednak dla każdego z nich ta sama strona (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) i dlatego nie mogłem z niego skorzystać ...

Ale był tam właśnie taki jeden "bajer", istniał plik nazwijmy go "user.log" z chmod 666 (chyba).
Jak użytkownik wypełniał formularz, jego dane - nick i hasło - były zapisywane do pliku user.log - coś jak taki mały cache. Przy wczytywaniu strony docelowej był sprawdzany ten plik - jeśli było w nim zapisane: hasło i login - ładował stronę docelową, jeśli nie dawał komunikat ....

Autor pisał tam, że to może zwiększyć bezpieczeństwo.
Ale jak już pisałem nie chce zawracać Wam więcej głowy. Poza tym - na moim poziomie php - ten skrypt to i tak mistrzostwo świata (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)

Na dzisiaj kończe, późno już a jutro czeka mnie ciężki dzień.

Pozdrawiam
Go to the top of the page
+Quote Post
rad3k
post
Post #39





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.02.2006

Ostrzeżenie: (0%)
-----


no i co z tego że włączy zaraz strone user_page.php - nie wejdzie mu wtedy. Wyskoczy mu logowanie. Może tobie się udaje bo sie zarejestrowałeś i nie wylogowałeś.


--> dzisiaj sobie to dostosuje do moich potrzeb i mam nadziej, że nie bedzie problemów.

Jeszcze raz DZIEKI.

---edit---

no i dostosowałem - wszystko działa idealnie prócz jednej rzeczy. Powiedzmy, że ktoś się zaloguje, a zapomni wylogowac. Odejdzie od komputera i ktoś inny na tym komputerze wejdzie zaraz na user_page.php i nawet nie musi hasła pisac.

Jeśli możesz to dopisz mi co mam dopisac żeby automatycznie wulogowywał po 3 minutach.

Ten post edytował rad3k 6.02.2006, 15:16:48
Go to the top of the page
+Quote Post
sbogdi
post
Post #40





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 30.05.2005

Ostrzeżenie: (0%)
-----


Czesc
chciałbym poruszyc troszke jeszcze temat tego skryptu nie wiem co sie dzieje ale main_page.php nie chce ruszyć ma jakis problem a dokładnie "Fatal error: main(): Failed opening required 'getusers.php' (include_path='.')" moze ktos powie co jest nie tak?
pozdrawiam
Go to the top of the page
+Quote Post
vieri_pl
post
Post #41





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


nie moze wczytac pliku getuser (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) nie masz go na servie, lub podajesz złą scieżke
Go to the top of the page
+Quote Post
sbogdi
post
Post #42





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 30.05.2005

Ostrzeżenie: (0%)
-----


Dobra literowka sory za zasmiecanie
Go to the top of the page
+Quote Post
-Guest-
post
Post #43





Goście







Ja smiem stwierdzic, ze nie wiem jak stworzyc przycisk wyloguj i sie wylogowac ;D

Mowie teraz o tym "drugim" skrypcie napisanym przez Stfrif (sorry jak pomieszlame nicka) w drugiej wersji (czyt. tej z przekierowaniem dla konkretnego pliku.)
Go to the top of the page
+Quote Post
-Yosh-
post
Post #44





Goście







Ja również prosiłbym o tutorial z "wylogowywania" z sesji oraz mam takie pytanie: jak zrobić by na stronie do której będzie przekierowywanie (np. plik strona.php w tym samym katalogu) móc pobrać dane z sesji (tzn. np. żeby stworzyć zwyczajne "witaj [username]").
Go to the top of the page
+Quote Post
strife
post
Post #45





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(Guest)
Mowie teraz o tym "drugim" skrypcie napisanym przez Stfrif (sorry jak pomieszlame nicka) w drugiej wersji (czyt. tej z przekierowaniem dla konkretnego pliku.)

Chyba chodzi o mnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Widzę, po tych dwóch ostatnich postach, że to co napisałem nie służylo do edukacji i analizowania kodu tylko wklejeniu na stronę (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

http://dev.unlike.be/login/user_page.phps

Tutaj macie wylogowanie.

  1. <?php
  2. // wylogowanie 
  3. if ( isset ( $_GET[ 'logout' ] ) ) 
  4. { 
  5.  
  6. echo '<a href="main_page.php" >Zostales poprawnie wylogowany, trwa przekierowanie...</a>'; 
  7.  
  8. header( "Refresh: 2; URL=main_page.php" ); 
  9. exit; 
  10. } 
  11. ?>


Czyli gdy zmienna logout będzie w adresie przeglądarki to zostanie wykonany ten warunek podany przezemnie wyżej ( ?logout ). Ale to jest tylko przykład.

Cytat(Yosh)
(np. plik strona.php w tym samym katalogu) móc pobrać dane z sesji (tzn. np. żeby stworzyć zwyczajne "witaj [username]").


nowa_strona.php
  1. <?php
  2. session_start(); // musi być.
  3. echo 'Witaj' . $_SESSION[ 'Name' ];
  4. ?>


Pozdrawiam!
Go to the top of the page
+Quote Post
-Guest-
post
Post #46





Goście







Cytat
Widzę, po tych dwóch ostatnich postach, że to co napisałem nie służylo do edukacji i analizowania kodu tylko wklejeniu na stronę


Niezupełnie ^^ W oparciu o Twój przykład i o dynamiczne ładowanie CSS uczę się tych elementów php. Siedzę nad tym i kombinuję. Nie wrzucę na net czegoś, czego nie rozumiem i nie będę umiał modyfikować do moich potrzeb. Jak mam gotowy i wyjaśniony kod to mogę testować jego elementy, póki nie czuję się na siłach napisać takie coś zupełnie samemu i to w dobry sposób.

Dzieki za wyjaśnienie wszystkiego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zapomnialem troche jak funkcjonuje php i nie pomyślałem.
Go to the top of the page
+Quote Post
free
post
Post #47





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


Tak z ciekawosci.
Strife dlaczego te pliki maja rozszerzenie *.phps (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Co do MD5 czy majac zakodowane hasło w MD5 czy mozna ja odszyfrowac ?
Go to the top of the page
+Quote Post
mike
post
Post #48





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(free @ 2006-02-22 17:25:00)
Strife dlaczego te pliki maja rozszerzenie *.phps  (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
To sa pliki źródła.
Jak widzisz serwer inaczej je interpretuje. Koloruje składnię.

Cytat(free @ 2006-02-22 17:25:00)
Co do MD5 czy majac zakodowane hasło w MD5 czy mozna ja odszyfrowac ?
Nie. Jest to niewykonalne. Już było to poruszane wiele razy.
A poza tym md5 to nie jest algorytm kodujący, bo takie można odwrócić, tylko algortym mieszający (inaczej mówiąc: haszujący).
Go to the top of the page
+Quote Post
free
post
Post #49





Grupa: Zarejestrowani
Postów: 269
Pomógł: 0
Dołączył: 6.02.2006

Ostrzeżenie: (0%)
-----


Słyszałem tez o takiej wersji :
Jest metoda, ze na super-klastrze ibm odszyfrowanie md5 trwa 5 h. Na domowym kompie trwalo by to cos kolo... 5 lat?
Go to the top of the page
+Quote Post
mike
post
Post #50





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(free @ 2006-02-22 17:52:01)
Słyszałem tez o takiej wersji :
Jest metoda, ze na super-klastrze ibm odszyfrowanie md5 trwa 5 h. Na domowym kompie trwalo by to cos kolo... 5 lat?

Powtarzam: md5 nie można odszyfrować. Bo to nie jest algorytm szyfrujący.
Można go jednynie złamać atakiem brute force.
BTW: Znana jest metoda która na domowym sprzęcie utworzy kolizję, która pozwoli i na odgadnięcie haszowanego ciągu w czasie 45min.

Koniec OT'a
Rozmowy na temat mp5 prosze umieszczać w odpowiednich wątkach. Wcześniej nalezy je znaleść i przeczytać, bo już niewiele zostało chyba do powiedzenia w tym temacie.
Go to the top of the page
+Quote Post
magik_xx
post
Post #51





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.02.2006

Ostrzeżenie: (0%)
-----


Strife dla mnie jesteś BOGIEM!!! (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png) Szacunek dla Ciebie bracie! Jestem zupełnym laikiem w php, szukałem po necie wielu skryptów, które pomogłyby mi zrobić autoryzacje na mojej stronie, ale żaden nie był odpowiedni, a jak był odpowiedni to stał na bardzo wysokim poziomie i nie potrafiłem go przerobić.
Ty z największą łatwością napisałeś skrypt, który pomógł wielu ludzią na tym forum! Dlatego prawdziwy szacunek dla Ciebie!

Jednak mam do Ciebie jeszcze jedną proźbę. Nie mam pojęcia nic o md5. Chciałbym doczytać coś o tym jakbyś mógł wskazać mi odpowiedni post, bo jak narazie naczytałem się o szaleńcu który uważa że potrafi złamać te kodowanie.

A drugie moje pytanko brzmi następująco: napisałeś prosty skrypt który służy do wylogowywania, ale on nie działa. Nie potrafie za bardzo go przekształcić, może wystarczy żeby wpisać jedną zmienną i bedzie chodził, ale jak większość w tym poście jako laik nie mam pojęcia jak to zrobić. Po prostu po wylogowaniu nie chce przejść do głównej storony! Odrazu powiem żeby nie wyjść na kompletnego idiote że nie chodzi tutaj o to że nie zgadza się nazwa storny.

Jeśli pomożesz będzie super jeśli nie jakoś dam sobie rade i tak już mi pomogłeś w wielkim stopniu!!! Nawet zaczynam coś łapać z php!
Pozdro
Go to the top of the page
+Quote Post
strife
post
Post #52





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Witam,

Miło usłyszeć takie słowa ;-)

Cytat(magik_xx)
Jednak mam do Ciebie jeszcze jedną proźbę. Nie mam pojęcia nic o md5. Chciałbym doczytać coś o tym jakbyś mógł wskazać mi odpowiedni post, bo jak narazie naczytałem się o szaleńcu który uważa że potrafi złamać te kodowanie.


Chyba najbardziej odpowiednie miejsce to manual php, aby doczytać o tej funkcji hashującej. md5. Co do złamania to zawsze można na wszelki wypadek używać. md5( sha1( md5 ( sha1 ( ... i tak dalej. doczytać - używaj wyszukiwarki np.
http://forum.php.pl/index.php?showtopic=20099


Cytat
A drugie moje pytanko brzmi następująco: napisałeś prosty skrypt który służy do wylogowywania, ale on nie działa. Nie potrafie za bardzo go przekształcić, może wystarczy żeby wpisać jedną zmienną i bedzie chodził, ale jak większość w tym poście jako laik nie mam pojęcia jak to zrobić. Po prostu po wylogowaniu nie chce przejść do głównej storony! Odrazu powiem żeby nie wyjść na kompletnego idiote że nie chodzi tutaj o to że nie zgadza się nazwa storny.

Hmm.... jeżeli przekopiowałeś ten kod ze źródeł, które podałem musi działać ( sprawdzałem jeszcze raz ). Jednak, jeśli Ty go zmodyfikowałeś, upewnij się czym jest session_start, a także czy nie ma literówki w warunku który prowadzi do wylogowania. Ale nic nie stoi na przeszkodzie, abyś wylogowanie napisał sobie sam. Do tego służy session_destroy

Tworzysz prosty warunek, a następnie niszczysz sesję.
  1. <?php
  2. // .. 
  3. // jezeli ?action=1
  4. if ( $_GET['action'] == '1' )
  5. {
  6.     session_destroy();
  7. }
  8. ?>


W razie problemów pytaj.

Pozdrawiam! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
magik_xx
post
Post #53





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.02.2006

Ostrzeżenie: (0%)
-----


Oki spróbowałem nawet wkleić taki sam kod jak ty napisałeś, wszystko działa tylko jeden szczegół, on nie wylogowuje bo jeśli chce sie znowu zalogowac jestem juz zalogowany.
Dlaczego??
Go to the top of the page
+Quote Post
-WS-
post
Post #54





Goście







Jak rozwiązać tenproblem z wylogowaniem?
Go to the top of the page
+Quote Post
-majbah-
post
Post #55





Goście







witam.

Mam mala prosbe, mianowicie stworzenie skryptu, ktory dodaje uzytkownikow do bazy.dat juz z hashowanym haslem.. cos w stylu rejestracji. Sam probowalem ale wychodzilo mi calkiem cos odwrotnego (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) znaczy usuwanie wszystkiego + wpis tylko hasha.
Go to the top of the page
+Quote Post
strife
post
Post #56





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


Cytat(majbah @ 2006-04-27 23:15:19)
witam.

Mam mala prosbe, mianowicie stworzenie skryptu, ktory dodaje uzytkownikow do bazy.dat juz z hashowanym haslem.. cos w stylu rejestracji. Sam probowalem ale wychodzilo mi calkiem cos odwrotnego (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) znaczy usuwanie wszystkiego + wpis tylko hasha.

To może lepiej podać ten Twój błędny skrypt na forum przedszkole + opis co chcesz osiągnąć i co Ci nie wychodzi, a wtedy otrzymał byś pomoc i już byś wiedział jak coś takiego skonstruować?

Myślę, że jest to lepsze rozwiązanie niż bezczynne czekanie na forum...

Pozdrawiam!
Go to the top of the page
+Quote Post
-Gość_Kamil-
post
Post #57





Goście







Witam,
przeczytałem wszystkie posty i widze, że są tu mądrzy ludzie ( (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) ... Ja jednak potrzebuje czegoś innego, jeśli ktoś będzie w stanie mi pomóc, będę wdzięczny... Chodzi mi o skrypt php z MySql - A więc:

Chciałbym, by użytkownik po wejściu na moją stronkę miał możliwość rejestracji, logowania oraz przypomnienia hasła. Dodatkowo skrypt miałby sprawdzać, czy login, jaki już podał nie istnieje w bazie, czy hasła są takie same oraz czy wszystkie wymagane pola zostały wypełnione. Po rejestracji dostaje maila z prośbą o potwierdzenie rejestracji. Konto zostaje uaktywnione po sprawdzeniu przez Admina (więc tu też musiałby być jakiś panel admina)

Jest to troche skomplikowane, a jedna z firm chce za takie coś 600zł (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Jeśli ktoś zna skrypt, lub sam takowy napisał i będzie w stanie mi pomóc, będę bardzo wdzięczny... (byle był latwy, no i jak ktoś zna - polski)
Pościągałem już kilkadziesiąt skryptów i żaden z nich mi nie działa, albo coś źle zrobiłem i wszystko po angielsku...

Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-Paper-
post
Post #58





Goście







Dzięki za dokładny opis. Wszystko działa, tylko trzeba było w index.php i podstronach usunąć header("Location: index.php");.
Pozdrowionka
Go to the top of the page
+Quote Post
-WS-
post
Post #59





Goście







Moze ktos wkleić poprawiony kod ?
Go to the top of the page
+Quote Post
-Gość-
post
Post #60





Goście







Witam!
Prześledziłem ten temat (też poszukiwałem czegos takiego), z jednym małym wyjątkiem! Po pierwszym zalogowaniu w adresie przeglądarki wyskakuje adres strony, która się otwiera po wpisaniu poprawnego loginu i hasła. Znając nazwe strony po wpisaniu jej całej do przeglądarki strona ładuje się bez konieczności wpisania loginu i hasła. Chciał bym aby niemożliwy był na nią dostęp, bez loginu i hasła.

Czy ktoś może podać rozwiązanie (najlepiej cały kod), aby w takim przypadku przekierowało usera spowrotem do panelu logowania tak aby byl zmuszony się zalogować!

Z góry wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Speedy
post
Post #61





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

Ostrzeżenie: (0%)
-----


Nie przeglądałem teraz kodu tego skryptu, ale wiem, że zabezpieczyć się można dość prosto.

Rozwiązanie nr 1:
Możesz wszystkie pliki, które chcesz udostępnić tylko dla "wybrańców" dać do jednego katalogu, a w tym katalogu dać plik .htaccess, którym napiszesz "Deny from all". Następnie po zalogowaniu include'ować odpowiednie pliki

Rozwiązanie nr 2:
Możesz zrobić sesje i ustawiać jakąś zmienną na odpowiednią wartość, gdy użytkownik poprawnie się zaloguje, po czym wyświetlać zawartość pliku tylko wtedy, gdy ta zmienna jest odpowiednio ustawiona. Wtedy taka instrukcja musi być zawarta we wszystkich plikach docelowych.

Ten post edytował Speedy 8.08.2006, 19:11:24
Go to the top of the page
+Quote Post
adikus
post
Post #62





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.11.2006

Ostrzeżenie: (0%)
-----


A po co php może by JavaSript ... (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

do HEADA wklej..

  1.  
  2. <script LANGUAGE="JavaScript">
  3.  
  4. <!-- Begin
  5. function Login(){
  6. var done=0;
  7. var username=document.login.username.value;
  8. username=username.toLowerCase();
  9. var password=document.login.password.value;
  10. password=password.toLowerCase();
  11. if (username=="member1" && password=="password1") { window.location="page1.html"; done=1; }
  12. if (username=="member2" && password=="password2") { window.location="page2.html"; done=1; }
  13. if (username=="member3" && password=="password3") { window.location="page3.html"; done=1; }
  14. if (done==0) { alert("Invalid login!"); }
  15. }
  16. // End -->

a potem do BODY forma logowania
  1.  
  2. <form name=login>
  3. <table width=225 border=1 cellpadding=3>
  4. <tr><td colspan=2><center><font size="+2"><b>Members-Only Area!</b></font></center></td></tr>
  5. <tr><td>Username:</td><td><input type=text name=username></td></tr>
  6. <tr><td>Password:</td><td><input type=text name=password></td></tr>
  7. <tr><td colspan=2 align=center><input type=button value="Login!" onClick="Login()"></td></tr>
  8. </form>
Go to the top of the page
+Quote Post
Dark89
post
Post #63





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 6.12.2006

Ostrzeżenie: (0%)
-----


mam problem linki który podał strife do skryptu logowania nie działają (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Jakby mogł je ktos wzócic jeszcze raz byłbym bardzo wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
A co do skryptu to chce go wykorzystać do logowania sie do systemu newsów fusion news i czy istnieje taka mozliwosc zeby odrazu logowało cie do tego systemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Bo jak narazie z tego co czytałem to po zalogowaniu sie skrypt przenosi cie na odpowiednia strone czyli w moim wypadku byłoby to "new/index.php i wtedy jeszcze raz musialbym podawac login i haslo (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Wiec jezeli umiecie cos takiego zrobic to bym bardzo prosil (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) zgóry dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jezeli nie bardzo sie da to w zupelnosci wystarczy mi skrypt w obecnej postaci (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tylko wzoccie go jeszcze raz pls (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
adikus
post
Post #64





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.11.2006

Ostrzeżenie: (0%)
-----


dobry pomysł tez bym prosił jeszcze raz skrypt strife'ego bo linki umarły :/
bardzo prosze:)

ma ktoś te całe kody bo nie umiem się doprosić (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)
Go to the top of the page
+Quote Post
vip3r
post
Post #65





Grupa: Zarejestrowani
Postów: 162
Pomógł: 0
Dołączył: 28.11.2006
Skąd: 2322

Ostrzeżenie: (0%)
-----


Moze go ktoas w pelni zlozyc?
Go to the top of the page
+Quote Post
adikus
post
Post #66





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.11.2006

Ostrzeżenie: (0%)
-----


tu chyba juz nikt nie zagląda z tych co mają ten skrypt (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)
Go to the top of the page
+Quote Post
AiKon
post
Post #67





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


Witam, z php dzialam od kilku dni wiec moja wiedza jest skromna w tym temacie. Dzieki temu forum udalo mi sie jednak dokonac logowania na swojej stronie. Jednak mam pare pytan.

1. w pliku users.dat chce zakodowac haslo przez md5. Moj plik wyglada tak

user||haslo||strona docelowa

w poprzednich postach byl podany skrypt na kodowanie hasla z ktorego chce skorzystac, mianowicie:

  1. <?php
  2.  
  3. echo md5( 'demo' );
  4.  
  5. ?>



zostaje mi zwrocony kod hasla "demo" i wpisuje go do swojego pliku users.dat

jednak w jaki sposob pozniej plik php ma odczytac to haslo? bo nie dziala mi to:

  1. <?php
  2.  
  3. if($_POST['user'] == "" || $_POST['pass'] == "")
  4. {
  5. ?>
  6. <form name="logowanie" action="index.php" method="POST">
  7. Login: <input type="text" name="user" /><br />
  8. Hasło: <input type="password" name="pass" /><br />
  9. <input type="submit" name="submit" value="Zaloguj" />
  10. </form>
  11. <?php
  12. }
  13. else
  14. {
  15.  $file = file("users.dat");
  16.  foreach($file as $userdata)
  17.  {
  18. list($login, $haslo, $redirect) = explode("||", $userdata);
  19. if($login == $_POST['user'] && $haslo == $_POST['pass'])
  20. {
  21.  $_SESSION['username'] = $_POST['user'];
  22.  $_SESSION['user_logged'] = time();
  23.  $_SESSION['redirect'] = "/" . $redirect;
  24.  
  25.  header("Location: " . $redirect);
  26. }
  27.  }
  28. }
  29. ?>


gdy nie koduje hasla za pomoca md5 wszystko dziala jak nalezy.



2. mam rowniez problem z kodem ktory ma zwracac nazwe zalogowanego uzytkownika na stronie:
zwraca mi:
Fatal error: Call to undefined function: getusers() in C:\WebServer\Apache2\htdocs\logowanie2\uzytkownik1.php on line 97

a moj kod wyglada tak:
  1. //to ta cesc co ma byc na pocztku kazdeho pliku dla uzytkownika
  2. <?php
  3.  
  4. if($_SERVER['PHP_SELF'] != $_SESSION['redirect'] || !isSet($_SESSION['user_logged']))
  5. {
  6.  unset($_SESSION['user_logged']);
  7.  unset($_SESSION['username']);
  8.  unset($_SESSION['redirect']);
  9. }
  10. ?>//to koniec tej czesci kodu dla uzytkownika
  11.  
  12. <html><head>...</head><body>
  13.  
  14. bla bla bla
  15.  
  16. <?php
  17.  
  18. $arr  = getUsers( 'users.dat' ); //to linia 97 w ktorej jest blad
  19. $You  = $arr[ $_SESSION[ 'Name' ] ]; 
  20. header("Location: " . $You[ 2 ] );
  21.  
  22. ?>
  23.  
  24. bla bla bla</body></html>


nie wiem czy wogole jest dobra struktura tego pliku dlatego podaje gdzie sie zaczynaja i koncza znaczniki html.

3 chcialabym zrobic rowniez przycisk wyloguj ale nie znalazlam tu kodu na to.

Bardzo prosze o pomoc.
Go to the top of the page
+Quote Post

4 Stron V   1 2 3 > » 
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.12.2025 - 04:56