Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 2 Opcje Wstawiania Danych Do Bazy., Która wersja jest lepsza... ?
tomek0077
post 17.08.2004, 13:20:23
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 6.01.2004

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


Który z poniżej pokazanych opcji wstawiania z formularzy danych do bazy mysql jest bardziej prawidłowa... ?
Dane z bazy wyciagam przez: stripslashes()


1 Opcja:
  1. <?php
  2.  
  3. function FixQuotes ($what = &#092;"\") {
  4.     $what = ereg_replace(&#092;"'\",\"''\",$what);
  5.     while (eregi(&#092;"'\", $what)) {
  6.     $what = ereg_replace(&#092;"'\",\"'\",$what);
  7.     }
  8.     return $what;
  9. }
  10.  
  11. $autor = stripslashes(FixQuotes($autor));
  12. $wstawil = stripslashes(FixQuotes($wstawil));
  13. $tytul = stripslashes(FixQuotes($tytul));
  14. $image = stripslashes(FixQuotes($image));
  15. $opis = stripslashes(FixQuotes($opis));
  16. $notes = stripslashes(FixQuotes($notes));
  17. ?>


2 Opcja:
  1. <?php
  2. $autor = addslashes($autor);
  3. $wstawil = addslashes($wstawil);
  4. $tytul = addslashes($tytul);
  5. $image = addslashes($image);
  6. $opis = addslashes($opis);
  7. $notes = addslashes($notes);
  8. ?>


Ten post edytował tomek0077 17.08.2004, 13:22:57
Go to the top of the page
+Quote Post
Zodiac
post 17.08.2004, 22:52:01
Post #2





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 21.03.2004
Skąd: Oświęcim

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


Nie wiem czy hest sens aż tak "bezpiecznego" przerzucania danych. Po pierwsze zalecałbym użycie array() jako containera. Samo zabezpieczenie danych przy wysyłaniu może być robione przez funkcję htmlspecialchars() z włączoną zamianą apostrofu i cudzysłowia na odpowiednie encje HTML.

Ten post edytował Zodiac 17.08.2004, 22:52:18


--------------------
PHP5 w/MySQL, JavaScript, SOAP, AJAX, RSS and much more ;)
Go to the top of the page
+Quote Post
tomek0077
post 17.08.2004, 23:08:25
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 6.01.2004

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


to którego z tych 2 użyć:

addslashes()
czy
(htmlspecialchars() lub htmlentities() )

Która metoda jest lepsza i dlaczego ?
Go to the top of the page
+Quote Post
tsufu
post 26.08.2004, 10:53:20
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 12.07.2004

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


Cytat(tomek0077 @ 2004-08-17 22:08:25)
to którego z tych 2 użyć:

addslashes()
czy
(htmlspecialchars() lub htmlentities() )

Która metoda jest lepsza i dlaczego ?

addslashes dodaje tylko slashe smile.gif wiec jakies niepozadane znaczki ci zostana jesli wrzucisz do bazy, przy wyciaganiu stripslashes i moze dojsc do nieporzadanych rzaczow winksmiley.jpg natomiast pozostale zamieniaja jakies taki dziwaczne znaczki na wyrazenia, na takie znaki z & na bezpieczne tak wiece nie przejda one chyba jako wykonywallne ? ale nie jestem pewien najlepiej to php.net smile.gif
Go to the top of the page
+Quote Post
rogrog
post 28.08.2004, 18:59:14
Post #5





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


mysql_escape_string" title="Zobacz w manualu PHP" target="_manual

ta funkcja jest wg mnie ostatecznym rozwiązaniem dla każdego wstawiania do bazy (oczywiscie jesli chodzi o mysql ale inne bazy tez powinny miec odp. funkcje)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.08.2025 - 15:05