Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]kod w komentarzu
Forum PHP.pl > Forum > Przedszkole
kto$
Czy możecie podac jakieś źródła na ten temat, bo sam nie znalazłem.
Chodzi mi o dodawanie kodu, np: <?php echo "witaj świecie" ?> jako komentarza.

Sam system komentarzy rozwiązałem w ten sposób:
  1. $dodaj="insert into comment values ('' ,'".addslashes($autor)."','".addslashes($tekst)."','".$ciag."','".$data."')";
  2. $umiesc = $db->query($dodaj);

gdzie $tekst jest zmienną do komentarza.


Wyświetlanie w ten:
  1. $wiersz=$wynik->fetch_assoc();
  2. echo ($i+2).". Napisany przez: ".$wiersz['autor'].", o czasie: ".$wiersz['czas_dodania'].". Treśc komentarza:<br /><br />".addslashes($wiersz['komentarz'])."<br />";


Wszystko ładnie pobiera, wczytuje komentarze itd. Problem się pojawia jak w komentarzu napiszę linijkę z początku postu. W bazie jest zapisany dobrze, natomiast przy wyświetleniu commenta pozostaje tylko czyste pole.

Dzięki za pomoc
nospor
przy wyswietlaniu uzyj htmlspecialchars()
phpion
Po pierwsze: daruj sobie takie rozwiązanie! Jest to bardzo niebezpieczne.
Po drugie: zapewne w źródle strony kod się wyświetla, ale < traktowane jest przez przeglądarkę jako rozpoczęcie znacznika HTML. Do wykonania kodu użyj eval, ale -> patrz punkt nr 1.

@up:
Aj, źle zrozumiałem tongue.gif
kto$
nospor: Dzięki, pomogło

phppion: W ramach ciekawości, mógłbyś dokładniej opisac, dlaczego takie rozwiązanie jest niebezpieczne, ewentualnie skierowac mnie na jakiegoś arta?

Pozdrawiam

phpion
Cytat(kto$ @ 18.11.2010, 12:15:48 ) *
phppion: W ramach ciekawości, mógłbyś dokładniej opisac, dlaczego takie rozwiązanie jest niebezpieczne, ewentualnie skierowac mnie na jakiegoś arta?

Mój błąd. Myślałem, że chcesz wykonać kod zawarty w komentarzu, a to byłoby dość ryzykowne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.