PerlとPythonのWAFの要素のmapping
Pythonの勉強がてら、良く知っている領域ということで、WAFの要素における ライブラリ間のマッピングをとってみました。simpleなwafはライブラリがそろってるので、さくっと作れそうな印象です。
Category | Perl | Python |
WSGI | Plack | wsgiref |
req/res | Plack::Request, Response | webob |
routing | routes | HTTP::Router |
template engine | Text::MicroTepmlate::Extended | Genshi |
database | DBIC | SQLAlchemy |
memcache | Cache::Memcached::Fast | python-memcached |
flavor | Module::Setup | PasteScript(paster) |
Plugin system(hook) | Class::Trigger | ? |
Plugin system | Module::Object::Pluggable | ? |
form validation | FormValidator::Simple, Lite | ? |
CLI | App::Cmd, App::CLI | clik |
以下の領域は、どんなライブラリがメジャーなのかがぱっとみた感じわかりませんでしたが、それ以外は大体近いライブラリがみつかりました。
- プラグイン系の仕組み
- form validation
- config読み込み(形式とか)
まだ、Pythonicなものが何かを理解してないので、そこらはおいおいみてこうかと思ってます。何かいいpythonicな読みやすいライブラリ, developerなどがいれば是非教えてください!
# いくつかpythonのWAFをみていたら、構成要素が殆どpylonsだということに気づきました。pylons意外のWAFは割とモジュール使わずにフルフルに作ってるものが多い印象ですね。今みている感じだと、モジュールの粒度がjavaに近い印象ですね。