![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
czy taka funkcja wystarczy, aby każdy skrypt usunąć ze stringa? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli potrzebujesz jakiegoś "czyściciela" XSS, to polecam ten kombajn: http://htmlpurifier.org/
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
wystarczy mi usunięcie <script>
czy ww. kod wystarczy? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie wystarczy.
Kod <<script>script>alert('1')</script> Masz złe podejście. Zamiast robienia blacklisty i usuwania rzeczy w niej zawartej powinieneś zrobić whitelistę i usuwać wszystko, czego na niej nie ma. "Atakujący" zawsze może wymyślić coś, o czym Ty nie pomyślałeś. Chociażby Kod <img src="java script:alert(1)" /> Ten kod nie zadziała na teraźniejszych przeglądarkach, ale na starszych najprawdopodobniej tak.Jeszcze raz polecam http://htmlpurifier.org/ bo to na prawdę dobre i sprawdzone rozwiązanie. [edit] Forum automatycznie rozdziela spacją javascript w tagu img powyżej Ten post edytował sowiq 5.10.2012, 10:14:54 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
właśnie to za dużo, co polecasz
chcę jedynie, aby do edytora tekstu (fckeditor) nie można było dawać skryptów - nic więcej |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeśli to ma być edytor dla użytkowników strony, to nie wystarczy Ci tylko filtrowanie JS. Poza tym musisz usuwać np. CSS. Jeszcze nie tak dawno Allegro zaliczyło niezłą wpadkę przez nieszczelne usuwanie CSS. Ktoś zrobił aukcję z elementami HTML pozycjonowanymi absolutnie. Dzięki temu był w stanie podmienić (tak na prawdę to zasłonić) elementy aukcji z ceną, przyciskiem 'Kup Teraz' itp.
Więc zastanów się dobrze czy chcesz dać użytkownikom możliwość wysyłania HTML i okrojenia go tylko z JS, czy nie zastąpić tego np. BBCode. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
wszystko jest pod kontrolą, prócz JS - nie chcę Was zanudzać tłumaczeniami, chcę jedynie skasować wszelkie skrypty JS, nic poza tym
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz się skupić jedynie na tagach <script>, to teoretycznie wystarczy, że podaną przez Ciebie funkcję wykonasz w pętli
Kod while(stripos($string, '<script') !== false){ $string = strip_script($string); } Ale weź też pod uwagę takie rzeczy jak: |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 885 Pomógł: 463 Dołączył: 3.10.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W pliku konfiguracyjnym fckconfig.js ustaw
FCKConfig.ProtectedSource.Add( /<script[\s\S]*?\/script>/gi ) ; znalezione na -------------------- Nie pomagam na pw, tylko forum.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@darko, filtrowanie client-side nie daje praktycznie żadnego zabezpieczenia. Równie dobrze możesz wysłać niebezpieczny kod z pominięciem edytora, albo chociażby wyłączyć JS w przeglądarce.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
dlatego szukam funkcji typowo php - czy ta zasugrowana przeze mnie wystarczy, czy lepiej szukać czegoś bardziej rozwiniętego?
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
W pierwszym poście dostałeś na tacy podane gotowe narzędzie, które wystarczy tylko skonfigurować do swoich potrzeb. Czego więcej oczekujesz?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
dlatego szukam funkcji typowo php - czy ta zasugrowana przeze mnie wystarczy, czy lepiej szukać czegoś bardziej rozwiniętego? Ręce opadają... Podałem Ci idealny przykład, że nie wystarczy. Kod <<script>script>alert('1')</script> Podałem Ci powyżej przykład jak "zabezpieczyć" Twój kod przed takimi stringami, podałem Ci też przykład, że takie filtrowanie na wiele się nie zda. W końcu, jak zauważył Crozin, podałem Ci linka do biblioteki, która jest dobrze przetestowana i zabezpieczy Cię przed typami ataków, o których pewnie nawet nie masz pojęcia. Jak sobie zabezpieczysz, tak bezpiecznie będziesz miał. Bardziej okrągłego koła na nowo nie wymyślisz. Dla mnie eot. Ten post edytował sowiq 5.10.2012, 12:21:06 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:31 |