Believe you can

If you can dream it, you can do it.

BottleのCSRF対策がIE、Safariだと動かない

BottleではCSRF対策にbottle_utils.csrfが用意されています

組み込みはとっても簡単で

@app.post('/')
@csrf_token
def index():
    return dict(token=request.csrf_token)

@app.post('/hoge')
@csrf_protect
def hoge():
    redirect('/success')

@csrf_tokenトークンを発行しCookieに保存してくれ、@csrf_protectでは発行したトークンの整合性チェックをしてくれます

ChromeFirefoxは問題なく動くのですが、IESafariはsubmitすると発行したトークンがCookieから消えてしまいます

bottle-utils/csrf.py at master · Outernet-Project/bottle-utils · GitHubCookie登録ロジックが

response.set_cookie(token_name, token, path=path, secret=secret, max_age=expires)

になっているのを

response.set_cookie(token_name, token, secret=secret)

pathmax_ageの指定をなくすことでCookieから消えずにCSRF対策ができました
もともとのソースにおかしいところはないと思うんだけどなんでだろう・・・

初めてAnsibleを試してプチハマりした話

最近流行っている(?)Ansibleを試してみました 思わぬところでプチハマりをしたので同じ人が出ても困らないようになればいいなーということで記事として残しておこうと思います

Ansibleって?

オープンソースの運用管理・運用自動化ツールです 多数の構築対象サーバに対してミドルウェアのインストール、アプリケーションのインストールを実行してくれます 詳しくはこちらで^^; qiita.com

続きを読む

PHPカンファレンス 2017 (#phpcon2017)に参加してきました

今年も参加してきました(3年連続の参加です)
phpcon.php.gr.jp
簡単ですが、参加したセッションの感想やメモを残しておきたいと思います
間違いがありましたらご指摘いただけると幸いです<(_ _)>
f:id:chichi1091:20171009165140j:plain

続きを読む

LINE DEVELOPER DAY 2017(#linedevday)に参加してきました

応募者が多かったら抽選になると連絡が来ていたイベントですが、当選することができたので参加しました
linedevday.linecorp.com
簡単にですが参加したセッションの感想やメモを残しておこうと思います
間違いがありましたらご指摘いただけると幸いです<(_ _)>
f:id:chichi1091:20170929000019j:plain

続きを読む

AppServiceにPython(Bottle)アプリを手動デプロイする

Azure App ServiceにはGitからデプロイすると必要なモジュールも入ってくれてるのですが、諸事情でGit経由でのデプロイが行えないので手動デプロイを行いました
若干ハマったので忘れないようにメモを残しておきたいと思います
手動デプロイに関しては公式情報も少なく試行錯誤した結果の手順ですのでもっと簡単な方法があるかもしれませんのであしからず。。。

続きを読む

RaspberryPi Zero買いました

遅ればせながら、ラズパイZeroを購入しました
購入にあたり@さんアドバイスありがとうございました

...購入後数時間でラズパイZeroWが販売になったのは悔しい限り。。。
遊んだらブログに書きたい