Çapraz site komut dosyası için AEM uygulamasında sorunlarımız var. Bir istek göndermeden önce herhangi bir komut dosyasını kontrol etmeye karar verdik. Sunucu tarafındaki SOAP isteğinde kullanılabilir herhangi bir betik olup olmadığını nasıl kontrol ederiz (Java). Çapraz site komut dosyası sorununu önlemek için doğru çözüm bu mu?Json isteğinde enjekte edilen herhangi bir betik olup olmadığını nasıl kontrol edebilirim?
cevap
Bu oldukça geniş bir sorudur ve herhangi bir mimari veya uygulama detayını bilmediğimizden uygulama ayrıntılarını sağlayamayız.
- şeyi çözmez bir formu göndermeden önce size, JS kullanarak, yalnızca tarayıcısında "komut kontrol" ise: Ancak akılda tutulması gereken bazı genel XSS şeyler vardır. İnsanlar bu formun başka herhangi bir araçtan (örn.
curl
, PostMan, vb.) Yapacağı HTTP isteğini basitçe yayınlayarak kolayca atlayabilir. Formun gönderdiği istekleri işlerken sunucu tarafında kötü veriler olup olmadığını denetlemeniz gerekir.
Bildiğim kadarıyla CQ sunucu tarafında bu tür bir şey nasıl yapılacağı gibidir:
: Adobe okumanız gereken bazı öneri vardır Bu sayfalardaki PDF "hile sayfası" bağlantısı muhtemelen en yararlı olacak.
XSS riski azaltmak için farklı yolları vardır. Verileri, yalnızca iyi verileri iyi bilinen verilerle listeleyerek, verileri bilinen herhangi bir kötü veriyi engellemek üzere kara listeye alma, kodların HTML olarak işlenmesini engellemek için verileri kodlamak üzere beyaz listeleme. OWASP recommendations
'a dikkat edin. Mükemmel bir okuma için, XSS güvenlik risklerini önlemek için bu API'deki yöntemleri kullanabilirsiniz.
Diğer taraftan, otomatik bağlamsal XSS protection sağlayan görmeyi kullanmaya başlayabilirsiniz.
- 1. Herhangi bir istisnanın atılmış olup olmadığını nasıl kontrol edebilirim?
- 2. Bir dosya olup olmadığını nasıl kontrol edebilirim?
- 3. json nesnesinin bazı özelliklerinin olup olmadığını nasıl kontrol edebilirim?
- 4. Dosyanın var olup olmadığını nasıl kontrol edebilirim?
- 5. Özellik olup olmadığını nasıl kontrol edebilirim?
- 6. Fonksiyonun kısmi olup olmadığını nasıl kontrol edebilirim?
- 7. Çocuğun var olup olmadığını nasıl kontrol edebilirim?
- 8. Dizinin boş olup olmadığını nasıl kontrol edebilirim?
- 9. NSUserDefaults'un var olup olmadığını nasıl kontrol edebilirim
- 10. Seçicinin qtip olup olmadığını nasıl kontrol edebilirim?
- 11. Kuyruk boş olup olmadığını nasıl kontrol edebilirim?
- 12. Yolun var olup olmadığını nasıl kontrol edebilirim?
- 13. Sesin çevrimdışı olup olmadığını nasıl kontrol edebilirim?
- 14. Javascript'te bir nesnenin "alt nesne" olup olmadığını nasıl kontrol edebilirim?
- 15. REST'de Güvenceli, bir alanın mevcut olup olmadığını nasıl kontrol edebilirim?
- 16. Genel bir türün Swift'de sıfır olup olmadığını nasıl kontrol edebilirim?
- 17. Lua'da bir modülün var olup olmadığını nasıl kontrol edebilirim?
- 18. Bir nesnenin Python'da bir yineleyici olup olmadığını nasıl kontrol edebilirim?
- 19. Bir değerin bir değerler dizisinde olup olmadığını nasıl kontrol edebilirim?
- 20. Sunucudan yanıtın JSONAobject veya JSONArray olup olmadığını nasıl kontrol edebilirim?
- 21. Bir nesnenin "derin boş" olup olmadığını nasıl kontrol edebilirim?
- 22. Ruby'de bir nesnenin görünümde sıfır olup olmadığını nasıl kontrol edebilirim?
- 23. Bir Sözün beklemede olup olmadığını nasıl kontrol edebilirim
- 24. Ruby'de bir nesnenin yinelenebilir olup olmadığını nasıl kontrol edebilirim?
- 25. Bellek eşlemeli bir dosya olup olmadığını nasıl kontrol edebilirim?
- 26. Elixir listesinde bir öğe olup olmadığını nasıl kontrol edebilirim?
- 27. Zaman çerçevesi içinde bir rezervasyon olup olmadığını nasıl kontrol edebilirim?
- 28. Belirli bir kullanıcı adı olup olmadığını nasıl kontrol edebilirim?
- 29. Emacs Lisp'de bir dizenin boş olup olmadığını nasıl kontrol edebilirim?
- 30. Bir dom öğesinin odaklanabilir olup olmadığını nasıl kontrol edebilirim?
sorunuz açık değil. "Bir istek göndermeden önce herhangi bir komut dosyasını kontrol etmeye karar verdik" ile ne demek istiyorsun? belki daha iyi anlamak için bir örnek verebilirsin. – awd
Merhaba, AEM uygulamasında birçok form var ve verileri veritabanına gönderiyoruz. DB'de güncellemek için bir istek göndermeden önce, istekte herhangi bir betiği kontrol edin. (Burada, webservices yoluyla veritabanına basmak ve AEM'den bir json talebi oluşturmak için SOAP kullanıyoruz) –
Bkz. Http://stackoverflow.com/questions/24800295/nasıl-yapılandırmak-antisamy-in-CQ-5-5 –