znaki specjalne w formularzu

0

Witam chciałbym aby na mojej stronie można było by dodać hasło np w takim formacie Z~!@#$%^&*()-_=+[{]};:'"|<,> lecz po wejściu na phpmyadmin w ogóle nie ma żadnych danych. Co należało by zrobić żeby móc dodać dane w takim formacie dodam że wysyłam dane na serwer metodą POST i to nie jest serwer localny więc nie ma dostępu do takich plików jak php.ini czy też httpd.conf podejrzę :)
Z góry dziękuję za jakiś przykład jak by ktoś mógł mi podać :)

0

Nie przechowuj hasła czystym tekstem, ale je hashuj - na przykład funkcją bcrypt(). Wtedy cokolwiek użytkownik wprowadzi i tak nie przejdzie do bazy danych w takiej formie. A do tego zwiększysz bezpieczeństwo.

0
Ktos napisał(a):

Wtedy cokolwiek użytkownik wprowadzi i tak nie przejdzie do bazy danych w takiej formie. A do tego zwiększysz bezpieczeństwo.

chciałbym aby na mojej stronie można było by dodać hasło np w takim formacie Z~!@#$%^&*()-_=+[{]};:'"|<,>

Boże czy są na tym świecie ludzi umiejący czytać ze zrozumieniem?
P.S
Gdybym chciał to za kodować to użył bym np MD5 lub SHA1

0

Masz problem z dodaniem takiego ciągu do bazy?

0

Tak. W ogóle ten ciąg nie jest dodawany do bazy natomiast taki już tak !@#$%&()_+| lecz ten Z~!@#$%&()-_=+[{]};:'"|<,> już niestety nie zostaje dodany.

Jak ktoś by mógł pomóc to proszę :p napisać :d

0

Pokaż w jaki sposób pobierasz dane z formularza, czy są hurtowo filtrowane np. przeciwko atakom XSS. Oraz w jaki sposób jest formowane zapytanie do bazy, tzn. czy używasz konkatenacji stringów czy jakiegoś ORM'a.

0

Standardowy insert dodal to bez problemu:

INSERT INTO `baza`.`tabela` (`kolumna`) VALUES ('Z~!@#$%^&*()-_=+[{]};:''"\\|<,>');
0
szalonyfacet napisał(a):

Standardowy insert dodal to bez problemu:

INSERT INTO `baza`.`tabela` (`kolumna`) VALUES ('Z~!@#$%^&*()-_=+[{]};:''"\\|<,>');

A spróbuj dodać to przez forumularz ;p

0

Zrób sobie var_dump() na danych z formularza - przypuszczam, że ci się doklejają jakieś backslashe jeżeli masz stary serwer. Plus, sprawdź co mówi funkcja mysql_error() aby się dowiedzieć, gdzie jest błąd w wykonywanym zapytaniu.

Ale nadal - jeśli to jest hasło - dlaczego chcesz je zapisywać do bazy czystym tekstem?

0

to może inaczej zapytam bo wszystkie pozostałe znaki dodaje bez problemu problem tkwi w ' tym o to znakiem :p nie można go dodać do bazy :p a razem z nim całości

Tak dla innych wiadomości znalazłem rozwiązanie :p zrobiłem literówkę w addslashes($zmienna); i stąd całe zamieszanie.
Dzięki wszystkim za odpowiedzi.

0

Bosko:)

0
rioma1990 napisał(a):

to może inaczej zapytam bo wszystkie pozostałe znaki dodaje bez problemu problem tkwi w ' tym o to znakiem :p nie można go dodać do bazy

można go dodać, podmień ' na '' (dwa razy ') albo - lepiej - użyj mysql_real_escape_string() i poczytaj sobie o sql injection. a na przyszłość jeśli coś nie idzie z zapytaniem, to sprawdź komunikat zwracany przez bazę danych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1