Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> TinyMCE, a bezpieczeństwo skryptu
404
post
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

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


Witam.

Pomóżcie, bo już zaczynam świrować.

Dodajemy post do bloga. Tytuł wiadomości filtruję tak:
  1. if(!isset($_POST['message_title']) || !validate(post('message_title'), '/^[a-zA-Z0-9\-\!]{1,64}$/'))
  2. $error_messages->append('...');

Z tym nie ma większego problemu.

Do edycji samej wiadomości używam TinyMCE. Z tego co zdążyłem się zorientować to jeżeli w jej treści znajdzie się niestandardowy znak (np. < lub &) to TinyMCE zamienia go na jego "entity name". Sen mi z powiek spędza to, że do bazy lecą apostrofy. Używam oczywiście prepared statements, nie sklejam zapytań, ale jak widzę w bazie:
Kod
<p>test016-desc</p>
<p>;</p>
<p>"</p>
<p>'</p>
<p>&gt;</p>
<p>&lt;</p>
<p>?</p>
<p>&lt;script type="text/javascript"&gt;alert(1);&lt;/script&gt;</p>
...to niezbyt mi się to podoba.
Czy addslashes załatwi tutaj sprawę?

Zastanawiam się co zrobić kiedy ktoś wyłączy obsługę JS.

Proszę o jakieś wskazówki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
!*!
post
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat
Ok, ale jeżeli używam TinyMCE to dane do bazy nie mogę być zformatowane np. za pomocą htmlentities.


Nie rozumiem Cie. Dlaczego nie mogą? TinyMCE to tylko nakładka na textarea, bo to z niego wysyłasz dane do PHP i tam je sobie obrabiasz jak chcesz, co ma w ogóle do tego brak obsługi JS? Wywal wszytko prócz html używając strip_tags() i po problemie.
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: 3.10.2025 - 10:45