![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
mam zrobiony layout bardzo fajny sama grafika i html zrobilem sobie plik includowany lay.php w ktorym mam 2 funkcje
head ktora jako parametr pobiera title strony i foot gdzie jest stopka strona w funkcje head mam dodatkowo formularz logowania;]. teraz moj epytanie brzmi jak zrobic baze (mysql zecz jasna) logowanie i rejestracje potrzebuje podzial na rangi i dane zapisane w sesji mają byc id mail login ranga Od czego zaczząć;] moze lepjej jak bym to zrobil w jakims framework 9niemialem stycznosci nigdy z zrzadnym) to bedzie strona do sprzedazy serwerów gier fps Ten post edytował kingofspace 25.11.2009, 16:55:16 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Pytasz się o podstawy,
przeczytaj jakiś kurs, wszystkie to opisują. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
no ja juz przerobilem jakies kursiki na necie i nadal niewiem od czego zaczac;] ogolni ejakies podstawy php znam
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Od stworzenia tabeli w bazie danych.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
oki troszke ssie pobawilem i stworzylem cos takiego
baza
a tu plik logi.php
Co dalej mam zrobic? Ten post edytował kingofspace 25.11.2009, 16:53:07 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
1) połącz się z bazą danych
2) filtruj jakoś te zmienne, radzę ci kodować hasła o tak: a tu podstawowa filtracja: 3) Sprawdzanie czy użytkownik istnieje, hasła są takie same (jeśli każesz je powtórzyć), wygenerowanie kodu aktywacji i wysłanie e-maila aktywujacego 3.1)dopisanie do bazy loginu, hasła itp + kod aktywacji Przy logowaniu też kodujesz hasła i porównujesz zakodowane formy |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
na początku chce zrobic logowanie rejestracja to jest maly pikus;]
w tym pliku mam juz wyciagniete zmienne z posta do zwyklej zmiennej jak je przefiltrowac i zakodowac ? moj plik polaczenie z baza jest includowane z jakiegos pliczku
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
sorry w kodowaniu powinno być SHA1 a nie SH1, no ale nie mogę wy-edytować posta :/ więc pisze w nowym
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
mam tak przefilrowane zmienne dobrze?
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
sorry bbcode cos nawala :/
kod taki: $user=mysql_real_escape_string(strip_tags($_POST['user']));//filtrujemy # $haslo=SHA1(MD5($_POST['haslo']));//kodujemy # echo($user); # echo($haslo); Ten post edytował Makciek 25.11.2009, 17:31:36 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
nierozumiem tego co podales niewiem ocb
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat $user=mysql_real_escape_string(strip_tags($user));//filtrujemy $haslo=SHA1(MD5($haslo)); Jak usunie $user i $haslo, to co to niby ma robić? Raczej: po co SHA1(MD5()); ? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
sorry bbcode cos nawala :/ kod taki: $user=mysql_real_escape_string(strip_tags($_POST['user']));//filtrujemy // mysql_real_escape_string() - nie pozwala wykonać ataku SQL Injection // strip_tags() - nie pzwala zrobic ataku xss // zmieniłem tylko to, że wpakowałem to wszystko w jedno (IMG:style_emoticons/default/tongue.gif) //ps. mysql_realy... działa tylko po połączeniu z bazą # $haslo=SHA1(MD5($_POST['haslo']));//kodujemy // SHA1() - jedno hashowanie // MD5() - drugie hashowanie # echo($user); # echo($haslo); a tak dokładnie to czego nie rozumiesz? |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
sobie juz poradzilem zmienne zwracaja mi zafiltrowane i zakodowane dane teraz mam problem z polączeniem do mysql
mam plik includowany
w pliku z logowaniemam taki kod
i mi wywala bład Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/kos/domains/kingofspace.d2.pl/public_html/login.php on line 40 wydaje mi sie ze niemoze polaczyc z baza jednak wyswietla w skrypcie do lączenia z baza Połączenie nawiązane co jest nie tak? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
@darko
chyba nie zauwazyles (IMG:style_emoticons/default/tongue.gif) , poprawile to juz wczesniej (IMG:style_emoticons/default/smile.gif) co do SHA1(MD5()) - to tak dla pewności (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
albo trzymasz w bazie niezahashowane hasło w postaci zwykłego tekstu, albo nie ma takiego użytkownika
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
haslo mam zahashowane takim samym kodowaniem login mam taki sam jak wpisuje w formularzu wydaje moze mam zle zapytanie bo mi ni eprzechodzi przez phpmyadmina
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
j/w
pozatym po co dawac takie dlugie zapytanie: $zapytanie = "SELECT `user_id `,`user_login`,`user_haslo `,`user_mail `,`user_status `,`user_kasa`,`user_ranga FROM `users` WHERE `user_login`='$user' AND `user_haslo `='$haslo'"; nie lepiej dać po prostu : $zapytanie = "SELECT * FROM `users` WHERE `user_login`='$user' AND `user_haslo `='$haslo'";? (IMG:style_emoticons/default/tongue.gif) może sproboj: mysql_query(...) or die (mysql_error()); Ten post edytował Makciek 25.11.2009, 17:47:30 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
mialem racje mam blad w zapytaniu zwrocilo blad
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` WHERE `user_login`='kingofspace' AND `user_haslo `='12bea9674f3d121afd7750d332' at line 1 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
mialem racje mam blad w zapytaniu zwrocilo blad You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` WHERE `user_login`='kingofspace' AND `user_haslo `='12bea9674f3d121afd7750d332' at line 1 eh to spacja :/ `user_haslo ` // spacja na koncu powinno byc `user_haslo` |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
dziala wyswietla mi sie liczba wierszy pobranych z bazy
moj skrypt przybral forme http://wklej.org/id/215652/ co proponujecie dalej? |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
wiesz co dam ci moj pierwszy skrypt logowania
co prawda jest on nieoptymalny i nie radzę go stosować ale możesz w nim zobaczyć co tam jest filtrację itp. (IMG:style_emoticons/default/tongue.gif) oczywiście nie jest to wzór do naśladowania, ale mały pokaz co minimum powinien posiadać taki skrypt // session['lvl'] 1 = zwykly uzytkownik, a session['lvl'] 2 = admin http://wklej.to/Pbvi ps. ten kod do generowania to mój fail, to jest przy rejestracji ps2. w miom jest html specjal hars, ale to jest cos w stylu strip_tags, tylko ze strip nie zostawia śmieci @edit co do hasła i filtracji, to jak mówiłem, to stary skrypt @edit2 eh dopiero po czasie człowiek zauważa jekie głupoty kiedyś pisał (IMG:style_emoticons/default/tongue.gif) gdy już zakończysz pisanie skryptu i wszystko będzie działać to usuń mysql_error() Ten post edytował Makciek 25.11.2009, 18:15:13 |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zrób uprawnienia, umieść w bazie nowe pole np. typu small integer, ustal poziom uprawnień dla poszczególnych ról.
Jeśli podane login i hasło będą pasować do tych w bazie, to zapamiętaj w sesji jakieś jednoznacznie identyfikujące konkretnego użytkownika informacje (np. wygeneruj coś jak token na podstawie na przykład: id, loginu i daty dodania usera do bazy, dodaj sól i zahashuj) dla kolejnych podstron, które będzie odwiedzał, na przykład:
i tyle, później jak sprawdzasz na jakiejś podstronie token, to wyciągasz po id_user z bazy te same dane, sól masz wszędzie taką samą, haszujesz i porównujesz z zawartością zmiennej $_SESSION["__user_token"], jeśli wartości są identyczne, to znaczy, że user jest zalogowany. Na końcu wypadałoby zrobić wylogowanie usuwając zmienne sesyjne i sesję. Ten post edytował darko 25.11.2009, 18:29:31 |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
stworzylem taki skrypcik wydaje mi sie ze dziala jak mam zrobic ze po pewnym czasie po zalogowaniu przeniesie na inną strone?
mile widziana krytyka tego skryptu |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat mile widziana krytyka tego skryptu Proszę bardzo: - brak PDO - nieprawidłowe wyciągnięcie danych z zapytania (linia 30) - tylko dwa poziomy uprawnień - narzucony z góry "layout" Ad. nieprawidłowe wyciągnięcie danych z zapytania (linia 30), powinno być tak:
Ten post edytował darko 26.11.2009, 12:01:54 |
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
niewiem co to POD
co masz na mysli nie prawidlowe? co masz na mysli bledy logiczne ja potrzebuje 2 poziomy uprawnien aktualnie mam skrypt w takiej formie
wykonywanie tego skryptu zatrzymuje si ena warunku gddzie jest sprawdzane czy zmienna status ma wartos confirm wtedy wykonuje sie kod else { } pomoze ktoś refreshe Ten post edytował kingofspace 26.11.2009, 12:28:21 |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Popraw tak, jak Ci napisałem powyżej na:
|
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
poprawilem na tak jak ty kazaleś lecz nadal przy probie logowania mam wyswietlania to konto niezostalo jeszcze aktywowane odbierz poczte albo skontaktuj sie z administratorem serwisu
moj kod
|
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
To zamień jeszcze to:
$_zwrotnik=mysql_fetch_row($wynik); $userid=$_zwrotnik[0]; $userlogin=$_zwrotnik[1]; $usermail=$_zwrotnik[2]; $userstatus=$_zwrotnik[3]; $userkasa=$_zwrotnik[4]; $userranga=$_zwrotnik[5]; na:
|
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
darko niestety dalej wywala mi ze konto niepotwierdzone
|
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
daj: print_r($zapytanie); print_r($wynik); print_r($userstatus);
Ten post edytował darko 26.11.2009, 14:14:41 |
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
wywalilo tresc ze konto nie potwierdzone plus gratis
SELECT * FROM users WHERE user_login='kingofspace' AND user_haslo='12bea9674f3d121afd7750d332933b41'Resource id #5kingofspace777@gmail.com |
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Masz przesunięty jeden indeks, wypluwa mail zamiast status, tak już powinno hulać:
Daj tak i wyprintuj jeszcze raz. |
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
to dziala faktycznie dziekuje ale pojawil sie kolejny problem (IMG:style_emoticons/default/haha.gif)
zalogowalem sie w login.php i dalem tam linka do panel.php i po kliknieciu w link i dla sprawdzenia co mam w sesji profilaktycznie wywolalem wyskoczylo na www Array ( [zalogowany] => 1 ) a jak wywolalem to po zalogowaniu w pliku login.php wywalilo Array ( [zalogowany] => 1 [login] => kingofspace [kasa] => 0 [ranga] => uzytkownik ) gdzie mi znikly pozostale elementy tablicy? |
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 6 Dołączył: 23.02.2008 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
linia 90 (?) print_r($$_SESSION); zamień na print_r($_SESSION);
Co do sesji, to gdzieś po drodze nadpisujesz albo usuwasz te dane. Przeanalizuj swój kod pod kątem warunków i miejsc, w których podstawiasz coś pod: $_SESSION["zalogowany"] $_SESSION["login"] $_SESSION["kasa"] oraz $_SESSION["ranga"] ps. $_SESSION["ranga"]=administrator; i $_SESSION["ranga"]=uzytkownik; zamieniłbym na odpowiednio $_SESSION["ranga"]="administrator"; i $_SESSION["ranga"]="uzytkownik"; |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 6 Dołączył: 23.02.2008 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A ja zmieniłbym na liczby, użytkownik =0, moderator =1, super mod =2, admin =3?
|
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
no poprawilem to ""
ale z tym dlaczego niezapisuje sie do sesji odpowiednio to niemam pojecia moglbys zobaczyc co i jak? w pliku login.php mam cos takiego
a w panel .php
to akurat niema znaczenia czy bedzie na cyfrach czy na nazwach rang |
|
|
![]()
Post
#40
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
w panel.php na samym początku daj
session_start(); obowiązkowo, a session_register jest zdeprecjonowane i nie korzystaj z tego |
|
|
![]()
Post
#41
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 4 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
no i dziala mam juz calą tablice;]
a co moglbym poprawic w mojim skrypcie logowani ejest to bezpieczne? |
|
|
![]()
Post
#42
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Przeginasz... (IMG:style_emoticons/default/tongue.gif) kończę wątek, załóż nowy temat
|
|
|
![]()
Post
#43
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat(crackcomm) Cytat(darko @ 25.11.2009, 17:35:12 ) * po co SHA1(MD5()); ? Dla bezpieczeństwa ? crackcomm, darko raczej chodziło po co hashować sha-1 zahashowany string już przez md5 (IMG:style_emoticons/default/smile.gif) lepiej dodać losową sól (którą zapisujesz w bazie dla późniejszego logowania), i hashujesz tylko sha-1, na przykład :
Ten post edytował sniffer32 26.11.2009, 15:10:41 |
|
|
![]()
Post
#44
|
|
Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@sniffer32 czytasz mi w myślach (IMG:style_emoticons/default/smile.gif)
ps. można też zrobić sól na podstawie loginu, id i daty dodania usera i wtedy wystarczy md5($haslo.$sol) lub sha1($haslo.$sol) i wystarczy, każdy user będzie miał inną sól i nie trzeba jej nigdzie zapisywać, bo można spokojnie odtworzyć na podstawie tych danych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:44 |