![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 26.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z zablokowaniem niedozwolonych znaków w haśle. Chcę aby użytkownik ustawiał bezpieczne hasło, tzn. z małych liter, dużych liter, cyfr, znaków specjalnych. I żeby zablokować niedozwolone znaki, typu polskie znaki, ( ) ' " - itd. Pierwszą połowę bez problemu zrobiłem, lecz z drugą połową (blokada niedozwolonych znaków) nie mogę sobie poradzić, ponieważ nie wiem jakie dokładnie znaki muszę blokować (przecież jest ich setki w różnych językach) i nie wiem za bardzo jak to napisać. Skrypt wygląda tak:
Proszę o pomoc. Pozdrawiam! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
usuń preg_replace wszystkie znaki na które pozwalasz i porównaj dł. jeżeli > 0 to błąd
Ten post edytował Pyton_000 18.10.2014, 14:45:34 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 26.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, ale nie rozumiem.
Przeczytałem twój post 20x i nie rozumiem o co chodzi... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tłumaczenie : masz sprawdzić czy ciąg zawiera jakieś znaki na które nie pozwalasz.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
@up nie, bo tych znaków jest więcej niż dozwolonych
![]() Masz zrobić odwrotnie np: Jeżeli po wykonaniu tego strlen > 0 to znaczy że masz niedozwolone znaki (poza literami i cyframi). Dodaj do tego znaki na które zezwalasz i tyle. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie to napisałem
![]() Inna sprawa że to nie ma sensu. Ciąg od użytkownika wrzuć do http://pl1.php.net/manual/en/function.password-hash.php i sprawdzaj cały zamiast wymuszać konkretne znaki. Ten post edytował viking 18.10.2014, 15:20:08 -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 26.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 378 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Są odpowiednie "klasy" znaków, jak przykładowo \W które oznacza przeciwieństwo \w. Można te wszystkie warunki zapisać w jednym wyrażeniu, w sumie dość nawet prostym. Pomysł z preg_replace uważam za totalnie chybiony.. Tak samo jak pomysł z kilkoma warunkami/wyrażeniami.. Moja propozycja: http://www.regexr.com/39oo3 w ostatnim "warunku" wstawiasz albo znaki które chcesz żeby były, albo znaki które chcesz zablokować.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
ikar twoje rozwiązanie przepuści np. coś takiego: 1312daf34YB9yb8=--":'*&%
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 476 Pomógł: 96 Dołączył: 10.04.2008 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Offtop:
Dlaczego chcesz zabronić znaków specjalnych w haśle? Ten post edytował pitu 18.10.2014, 17:20:58 -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 8 Dołączył: 8.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Kloc = Kolor
Obama !== Murzyn Obama === Kloc Jak Ci pomogłem to daj Pomógł, tu nie chodzi o te Pomógł, bo to do niczego nie potrzebne, ale daj! :D |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 26.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Offtop: Dlaczego chcesz zabronić znaków specjalnych w haśle? Sam nie wiem... Chcę aby dozwolone były znaki takie jak w większych serwisach typu gogle, Microsoft. Tam przy rejestracji jak wpisze się niewłaściwy znak (np. ą, ż) wyskakuje: Kod Hasło może zawierać następujące znaki: a-z, A-Z, 0-9 oraz typowe znaki interpunkcyjne. Ten sposób (viking) działa ok:
Jest wszystko cacy. Dziękuję wszystkim za pomoc ![]() Ten post edytował Asig 18.10.2014, 18:19:12 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
ikar twoje rozwiązanie przepuści np. coś takiego: 1312daf34YB9yb8=--":'*&% No shit sherlock: Cytat w ostatnim "warunku" wstawiasz albo znaki które chcesz żeby były, albo znaki które chcesz zablokować. To był tylko przykład, a nie gotowiec. Negowałem tylko te znaki które opisał w pierwszym poście + dołączyłem "instrukcje" gdzie dodać te które chce aby występowały, albo te których nie chcę.. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 01:38 |