Django'nun @sensitive_post_parameters
numarasını kullanarak hassas bilgileri filtrelemeye çalışıyorum. Bu ek açıklamaların bazı özel işlevler için hazırlanmasının yeterli olacağını düşündüm, ama işe yaramıyor. SafeExceptionReporterFilter
içinde kesme noktası belirledim ve yalnızca diğer kullanıcılara ve değil'dan arandığında kopuyor. Neyi kaçırıyorum ?Django'nun SafeExceptionReporterFilter'ını AdminEmailHandler'den başka bir şeyle kullanmak mümkün mü?
cevap
SafeExceptionReporterFilter
'u kullansanız bile, istisnalar yine de önemli veriler (örneğin, sunucunuzun ENV değişkenleri ve diğer çalışma zamanı verileri) içerir. Hassas verileri göstermekten kaçınmak için bu filtreyi kullanmamalısınız. Bunun yerine, kendi Exception Handler Middleware'inizi yazın ve seçici olarak (yinelemeli olarak?), Günlüklerde istediğiniz verileri alın.
istisnanın Traceback ve nasıl ihtiyaçlarınız için kullanmak nasıl elde edilebileceği konusunda sys.exc_info
bakınız.
Bir CustomHandler ile giderseniz bile, belirli bir işleyici ile sınırlı olacaksınız ve bildiğim kadarıyla, üçüncü taraf işleyicileri SafeExceptionReporterFilter
'u kullanmayacaktır.
Doğrusu ben özel bir işleyici oluşturmak çalıştım. Hassas çalışma zamanı verileri gelince, güvenlik adam bana onları log izin vermeyeceğini biliyorum. Bilginin nasıl açıklanacağını kontrol edebilmemin tek yolu olduğu için devam edip kendi istisna kaydedici ara katmanımı yazacağımı düşünüyorum. Teşekkür ederim ! –
Özel durumu biçimlendirmek için django.views.debug.ExceptionReporter
kullanan özel bir Handler yazabilirsiniz. ExceptionReporter
ait
Örnek kullanım:
from django.views.debug import ExceptionReporter
# exc_type, exc_value, traceback are a standard exception
# tuple as returned by sys.exc_info
reporter = ExceptionReporter(request, exc_type, exc_value, traceback)
html_report = reporter.get_traceback_html()
text_report = reporter.get_traceback_text()
ExceptionReporter
varsayılan olarak SafeExceptionReporterFilter
olan DEFAULT_EXCEPTION_REPORTER_FILTER
ayarıyla tanımlanan ExceptionReporterFilter
kullanacaktır.
Özel bir Handler
oluşturma hakkında bilgi almak için AdminEmailHandler
's implementation bir göz atın.
- 1. HUnit'i IO'dan başka bir monadde test çerçevesiyle kullanmak mümkün mü?
- 2. Cocos2d'de UIPickerView kullanmak mümkün mü?
- 3. Panda3D'yi bir wxPython uygulamasında kullanmak mümkün mü?
- 4. Bir e4 uygulamasında FormEditor kullanmak mümkün mü?
- 5. Bir Facebook Uygulamasında Paralaks kullanmak mümkün mü?
- 6. Cassandra'yı Node.js ile kullanmak mümkün mü?
- 7. DISPLAY olmadan pyplot kullanmak mümkün mü?
- 8. Arabirim tanımında alıcı/ayarlayıcı kullanmak mümkün mü?
- 9. pdfquery ile düzenli ifadeler kullanmak mümkün mü?
- 10. Linq ile nesnelere yansıma kullanmak mümkün mü?
- 11. Satır içi şablonları kullanmak mümkün mü?
- 12. Gömülü modda OCaml kullanmak mümkün mü?
- 13. Masaüstü uygulamalarında EJB 3.1 kullanmak mümkün mü?
- 14. Kaynakta localhost adresiyle iframe kullanmak mümkün mü?
- 15. Lua'nın Lua hash tablosunu kullanmak mümkün mü?
- 16. Kurtarma şartlı şartlarda kullanmak mümkün mü?
- 17. SystemEvents ile Özel EventArgs kullanmak mümkün mü?
- 18. Android Eşzamanlı interpolators kullanmak mümkün mü?
- 19. HTTPListener ile HTTP2 kullanmak mümkün mü
- 20. AIDL arabirimlerinde miras kullanmak mümkün mü?
- 21. xUnit ile Bağımlılık Enjeksiyonu kullanmak mümkün mü?
- 22. Java SE ortamında javax.interceptor kullanmak mümkün mü?
- 23. Tensorflow tensörlerin şeklini çalıştırmaksızın kullanmak mümkün mü?
- 24. Qt ile cin kullanmak mümkün mü?
- 25. Delphi yöntemi argümanlarında Attributes kullanmak mümkün mü?
- 26. Sınıflandırma için gensim doc2vec kullanmak mümkün mü
- 27. SHA256CryptoServiceProvider ve WinXP'de kullanmak mümkün mü?
- 28. Boost :: serileştirmeyi yönetilen sınıfla kullanmak mümkün mü?
- 29. Yansımaları kullanmak için getMethods mümkün mü?
- 30. JSXTransformer.js ile Harmony (ES6) kullanmak mümkün mü?
'DEBUG = False' ayarladınız mı? – spg
Evet, tabi ki, ama işaret ettiğin için teşekkürler. @aumo beni önerdi, ancak graypy GELF işleyicisi dayanıyordu ve her şeyi yeniden yazmadan filtreleme eklemek mümkün değildi –