Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z addslashes i stripslashes
Bojakki
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Wzialem sie za zabezpieczanie skryptu. Zaczalem wiec zabawe z funkcjami addslashes i stripslashes. Problem jest taki, ze gdy pobieram z tabeli dodany rekord filtrujac go stripslashes (by przy kazdej edycji nie robily mi sie dodatkowe slesze) to czesc pobranego stringu, ktora znajduje sie po cudzyslowie znika (cudzyslow tez). Problem jest tylko wtedy gdy pobieram string by wrzucic go do komorki formularza. gdy chce go wyswielic gdzie indziej na stronie to pokazuje sie caly tak jak powinien.

Istotna czesc kodu:
  1. <?php
  2. $n=stripslashes($a['name']);
  3. echo '<input type="text" name="name" value="'.$n.'"/>';
  4. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





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

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


Nie powinienes tego robic.

Zapis do bazy to jedno, a prezentacja to drugie.
Przy zapisie powinno się zawsze korzystać z mysql_escape_string() bądź mysql_real_escape_string() bo to by dane zapisać do bazy.
Nie powinno się ich modyfikować, przecież nigdy nie wiesz co z nimi zrobisz?
Możesz pokazać na stronie, wtedy podczas wyświetlania należy użyć htmlspecialchars() ale przecież możesz też kiedyś mieć potrzebę zapisać je do pliku .txt wtedy będziesz miał kupę encji zamiast znaków, a to już takie extra nie jest.
Narzędzia powinno się stosować do tego do czego zostały stworzone (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.09.2025 - 02:42