![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 20.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przerobiłem troche znaleziony w internecie kod i wygląda on następująco:
index.php
rejestruj.php
1. czy jest ten skrypt bezpieczny? jeśli nie to jakie zmiany proponujecie 2. jak zabezpieczyć najlepiej w md5() hasło do bazy danych?
3. użyłem funkcji preg_match do zabezpieczenia formularza ale działa on tylko dla jednej zmiennej $login lub $haslo:
gdy próbuje napisać tak(by obydwa pola formularza zabezpieczyć, bo co mi da że pole loginu zabezpiecze tylko jeśli w polu hasła można wpisać co sie chce..):
to pojawia sie błąd. jak tego użyć by zabezpieczyć obydwa pola? PS nie mam pojęcia dlaczego nie koloruje składni :/ być może kod html to powoduje ale nie wiem... Ten post edytował predator 16.04.2008, 16:35:51 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 20.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tak sie zastanawiam i przecież te polecenia z formularza są najpierw wysyłane do serwera i on je analizuje. Więc w bazie danych nic nikt nie namiesza ale na serwerze chyba może. czy dobrze mówie? ---- właśnie do pliku błędy chciałbym by zapisywało ale co mam wpisać? (nie uczyłem sie w szkole angielskiego i z tej strony nie bardzo rozumiem tych wyjaśnień :/) Cytat Swoją drogą, nie rozumiem, po co dodatkowo dajesz htmlspecialchars przy zapytaniu. Cytat A za każdym razem, gdy wyświetlasz login (czy jakieś dane od użytownika) już na stronie - wtedy potraktuje te dane htmlspecialchars() te pola (obydwa pętlami zabezpieczyłem) mimo że zabezpieczone to gdyby komuś jakimś cudem udało sie wprowadzić inne znaki niż te dozwolone to wtedy htmlspecialchars zabezpieczy. Cytat jezeli serwer bedzie mial wylaczone magic_quotes to nie bedzie ten skrypt(y) zbyt bezpieczny a co ktoś może zrobić? --EDIT-- Kod '".md5($haslo)."' nawet gdyby ktoś wpisał coś nie dobrego to md5 itak to zakoduje więc chyba jednak nie potrzebne dodatkowo htmlspecialchars.Jeśli wpisze w polu input cyfrę: 0 to informuje mnie ze nie wypelnłem wszystkich pól. Jak zrobić by 0 było traktowane nie jako puste pole a znak? Bo zamiast "nie wypełniłeś wszystkich pól" chciałbym by informowało po wprowadzeniu cyfry 0 że nie poprawne dane Cytat }echo ShowLogin("wprowadz login i haslo"); Crozin. Nie wiem dlaczego ale zamiast echo musze wpisać tu else. Gdy jest echo to jeśli wpisze błędne dane to pojawia sie "złe hasło" a pod formularzem pojawia sie następny formularz "wprowadz login i haslo". Jeśli wpisze inne niż dozwolone znaki to zamiast "nie dozwolone znaki" pojawia sie "wprowadz login i haslo", pod spodem nie pojawia sie następny formularz wtedy. Przecież jesli sprawdza czy pola puste:
i warunek jest że gdy nie (else) są puste to wypisz "wprowadz login i haslo" To dlaczego gdy są puste, wyświetla "wprowadz login i haslo"? Przecież powinno wyświetlać tak gdy nie są puste. Z else działa ale nie rozumiem dlaczego. Ten post edytował predator 21.04.2008, 10:46:23 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 16:44 |