Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Przetwarzanie kodu HTML przez parser PHP, Znaki specjalne sprawiają problem
Syaoran i Sakura
post 28.11.2013, 01:26:12
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.11.2013

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


Dobry wieczór.

Dziś postanowiłem napisać prosty skrypt tablicy newsów. W celu sformatowania tekstu używam znaczników HTML. Ponieważ funikcja strip_tags nie trawi tekstu zawierającego w sobie cudzysłowy ("), apostrofy (') oraz backslasha, zwłaszcza na końcu newsa, skorzystałem z następującego kodu, który eliminuje mój problem

  1. function pan_arnold_boczek($content)
  2. {
  3. $bloom=str_replace("&","&",$content);
  4. $stella=str_replace("\"",""",$bloom);
  5. $tecna=str_replace("\'","'",$stella);
  6. $flora=str_replace("\\","\",$tecna);
  7. return $flora;
  8. }


Chciałbym się dowiedzieć czy postąpiłem prawidłowo zamieniając złośliwe znaki specjalne HTML na ich kody ASCII. Tak sformatowany tekst ląduje później do funkcji strip_tags, która usuwa z niego wszystkie znaczniki poza <br>,<strong>,<img> oraz <a>.

  1. function marian_pazdzioch($content)
  2. {
  3. $klub_winx=pan_arnold_boczek($content);
  4. $czarodziejka_layla=strip_tags($klub_winx,"<br><strong><img><a>");
  5. return $czarodziejka_layla;
  6. }


Uzyskany w ten sposób tekst wędruje do bazy danych.

  1. $mojtekst=$_POST['sirenix'];
  2. //Zakładamy że w zmiennej $_POST['sirenix'] znajduje się tekst z kodem HTML
  3. $zakochany_w_bloom=marian_pazdzioch($mojtekst);
  4. $query="INSERT into kiepscy VALUES(NULL,\"karabin\",\"".$zakochany_w_bloom."\","666");


Próbowałem wielu złośliwych kombinacji, wszystkie przechodziły próbę. Nie wiem jednak czy ten sposób jest właściwy do przechowywania tekstu sformatowanego w bazie danych MySQL.
Go to the top of the page
+Quote Post
fate
post 28.11.2013, 18:45:27
Post #2





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


ostatnio ktos tu pisal chyba nospor ze przy zapisie do bazy tylko escepowac a przy wyswietlaniu/odczycie dopiero te funkcje ktore tu prezentujesz striptags etc. ja jeszcze nie mam duzego doswiadczenia z sql


--------------------
Go to the top of the page
+Quote Post
Turson
post 28.11.2013, 19:10:02
Post #3





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


W przypadku insert/update nie ma potrzeby filtrować danych przy wkładaniu ich do bazy, a dopiero przy wyświetlaniu.
Tutaj ten temat jest poruszony - Temat: MySQLPHP PDO ochrona danych
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: 19.07.2025 - 10:37