Comments (5)
Nie znalazłem innej rozsądnej biblioteki niż bleach (w php jest dużo porządniejszy HTMLPurifier), także najprościej będzie chyba wziąć
https://bitbucket.org/ionata/django-bleach/overview
i używać w template'ach |bleach zamiast |safe (w bazie danych będzie trzymane dokłoadnie to co podał użytkownik).
Nie znalazłem też jakichś lepszych ustawień, ale i tak dobrze by było przejrzeć te przyciski CKEditora i połowę wywalić (config teraz idzie z widgets.py, nie z config.js).
Masz czas się tym dziś/jutro zająć?
from aplikacjawww.
Bleach wygląda wystarczająco fajnie, zrobię dzisiaj. I tak, przyciski do CKEditora trzeba też przejrzeć - ale to chyba oddzielna kwestia.
from aplikacjawww.
Bleach już jest. W CKEditorze wygenerowałem wszystkie możliwe (chyba) tagi, atrybuty i style - i wrzuciłem do whitelisty (i nic poza nimi nie ma).
Na razie używane jest |bleach - co ma taką zaletę, że każdy kod jest zapisywany, nawet potencjalnie groźny. Jednak obawiam się, że CKEditor nie jest zbyt mądry i możliwe będzie uruchomienie JS w momencie, gdy ktoś zacznie edytować stronę - bo bleach działa na wyświetlany artykuł/warsztaty, ale nie na content wyświetlany w edytorze. Odtworzyć jakiegoś scenariusza ataku mi się nie udało, ale późno jest.
W każdym razie - ktoś też musiałby przejrzeć tagi/atrybuty/style i potwierdzić, że są OK wszystkie. Czyli - że żadnych z CKEditora nie brakuje, i żadne nie są niebezpieczne. Plik jest tutaj:
https://github.com/sebastianjaszczur/aplikacjawww/blob/master/wwwapp/settings.py
Poproszę jutro o to Kalmara.
Ogólnie się obawiam, że coś będzie źle - szczególnie style pewnie można gdzieś wykorzystać.
from aplikacjawww.
Racja, trzeba będzie na to spojrzeć. Ale na release może być tak jak jest,
issue można zamknąć.
Tagi są imho ok. Być może da się robić coś w stylu , ale
i tak trzeba pamiętać żeby nie wykonywać istotnych akcji z GET (tylko
POST). Logout może zostać, można kiedyś w wolnym czasie go ograniczyć do
POST (i zmienić linki do logout na formy).
2015-04-05 3:19 GMT+02:00 Sebastian Jaszczur [email protected]:
Bleach już jest. W CKEditorze wygenerowałem wszystkie możliwe (chyba)
tagi, atrybuty i style - i wrzuciłem do whitelisty (i nic więcej).
Na razie używane jest |bleach - co ma taką zaletę, że każdy kod jest
zapisywany, nawet potencjalnie groźny. Jednak obawiam się, że CKEditor nie
jest zbyt mądry i możliwe będzie uruchomienie JS w momencie, gdy ktoś
zacznie edytować stronę - bo bleach działa na wyświetlany
artykuł/warsztaty, ale nie na content wyświetlany w edytorze. Odtworzyć
jakiegoś scenariusza ataku mi się nie udało, ale późno jest.W każdym razie - ktoś też musiałby przejrzeć tagi/atrybuty/style i
potwierdzić, że są OK wszystkie. Plik jest tutaj:https://github.com/sebastianjaszczur/aplikacjawww/blob/master/wwwapp/settings.py
Poproszę jutro o to Kalmara.—
Reply to this email directly or view it on GitHub
#10 (comment)
.
from aplikacjawww.
Zamykam - jednak kiedyś trzeba będzie dokładniej przejrzeć, czy to wszystko jest bezpieczne. Szczerze, nie sądzę.
from aplikacjawww.
Related Issues (20)
- Komentarze przy ocenie HOT 2
- robots.txt HOT 1
- Wersjonowanie warsztatów HOT 1
- Build problem HOT 1
- o:graph data HOT 1
- Program z poprzednich edycji HOT 2
- Wszystkie warsztaty - dodać filtr roku
- "Twoje warsztaty" nie działają HOT 2
- Profil się nie tworzy dobrze HOT 4
- Zwykła strona o warsztatach nie działa HOT 4
- "Info o ludziach" nie działa.
- Squash migracji
- Dodać logowanie jako użytkownik
- Django 1.8
- Są regularne 500 z /register/ oraz /unregister/
- Filtrowanie e-maili po roku zgłoszenia HOT 5
- Migracja do pythona 3
- Wydzielić edycję WWW jako model HOT 2
- Nie ma użytkowników ze statusem "odrzucony"
- "Zmień status na" nie działa.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aplikacjawww.