[JavaScript][PHP]Filtrowanie pobrnych danych htmlspecialchars() |
[JavaScript][PHP]Filtrowanie pobrnych danych htmlspecialchars() |
6.03.2019, 11:42:44
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) |
Pobieram z bazy dane. Część z nich to np. wartości atrybutów HTML. Czy one również mają być filtrowane htmlspecialchars();?
Gdy próbowałem:
to skrypt JS się nie wykonuje. |
|
|
6.03.2019, 11:58:21
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
6.03.2019, 13:05:55
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) |
Czy dobrze rozumiem?
Jeżeli mam pewność, że dane znajdą się wewnątrz podwójnego cudzysłowu: class="'.$class.'" to mogę używać escapeHtml() z tej klasy. Natomiast jeżeli nie mam takiej pewności powinienem używać: escapeHtmlAttr()? Natomiast filtrować wyprowadzana dane należy zawsze niezależnie od tego czy wartość atrybutu jest w podwójnym, pojedynczym czy bez cudzysłowu? |
|
|
6.03.2019, 13:12:31
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
WYbacz, ze troche nie na temat moze, ale jak widze, ze wklase probujesz wlozyc taki tekst:
"<script>alert()</script>" To odnosze nieodparte wrazenie ze cos tu jest nie halo i zamiast martwic sie o escapowanie to moze lepiej poprawic to i owo w samej strukturze aplikacji? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
6.03.2019, 13:26:29
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
escapeHtmlAttr zawiera ściślejsze reguły usuwania znaków i dotyczy atrybutów. Nie bardzo rozumiem jak do takiego wniosku doszedłeś. Nazwy metod jasno mówią gdzie je należy wykorzystywać. Oczywiście to tylko przykład, możesz swoje rozwiązanie zaimplementować, ale dobrze wyjaśnia gdzie leży problem. Dla atrybutów w cudzysłowach powinno być
Wszystko co pochodzi od użytkownika ma być bezwzględnie filtrowane i weryfikowane. -------------------- |
|
|
6.03.2019, 14:29:30
Post
#6
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) |
WYbacz, ze troche nie na temat moze, ale jak widze, ze wklase probujesz wlozyc taki tekst: "<script>alert()</script>" To odnosze nieodparte wrazenie ze cos tu jest nie halo i zamiast martwic sie o escapowanie to moze lepiej poprawic to i owo w samej strukturze aplikacji? To chyba nieporozumienie. Ja nie chcę w atrybut HTML class (czy jakikolwiek inny) wsadzić kodu JS tylko się zastanawiałem jaki byłby efekt takiego wsadzenie biorąc pod uwagę, że wartość tam wsadzana pochodzi z zewnętrznego źródła (np. z bazy danych). Chyba, że ja czegoś nie rozumiem. Czy: Wszystko co pochodzi od użytkownika === Wszystko co pochodzi z zewnętrznego źródła ? Pobieram z "własnej" bazy danych konfigurację np.:
to przed użyciem mam filtrować i weryfikować np.:
i dopiero korzystać z $iloscElementów, a nie z $config['iloscElementow']? |
|
|
Wersja Lo-Fi | Aktualny czas: 29.03.2024 - 06:37 |