タグ

ブックマーク / blog.uu59.org (2)

  • uu59のメモ | RailsとJS(vue.js)の連携

    前書き Railsを使いつつJSもそこそこ書きたい、という条件であればまず前提としてjQuery脳を捨てましょう。jQueryスタイルで考えるかぎり何をどうやっても破綻するのでJSを諦めるか保守性を諦めるかして覚悟を決めましょう。 捨てるのは「jQuery」ではなく「jQuery脳」です。jQueryでグローバルな領域に進出してメソッドチェインで狼藉を働いたり、いま現在目の前にあるHTMLだけを考えてDOM操作をしたり、$.onと$.triggerを使ったクロージャ内部へのGOTOなどを記憶から消しましょう。 可能な限りスコープを小さく保つのはプログラミングの基原則といえます。その原則を思い出し、JSを軽く扱わず、一般的なプログラミングと同様に閉じられた関心事にのみ注力するようにしましょう。 RailsとJSと役割分担 Railsもviewとしてテンプレートエンジンの処理を持っていますが

    aki77
    aki77 2014/07/02
    『jQueryスタイルで考えるかぎり何をどうやっても破綻するのでJSを諦めるか保守性を諦めるかして覚悟を決めましょう。』
  • uu59のメモ | Rails4でデフォルトで入るturbolinksがオープンリダイレクタと合わさると何でもできてかなり危険

    Rails 4.0で入るturbolinksですが、これが有効だと無効の環境と比べてセキュリティリスクが微増するという話です。具体的にはRailsサービス内(同一ホスト内)にオープンリダイレクタがあり、CGMサイトであるとかユーザーが任意のリンクを張れる場合に、悪意あるスクリプトがそのサービスのホスト下で実行されてしまう。というのをmalaさんに指摘されました。 Railsであれば基的にredirect_to :action => "show", :id => @model.idみたいな感じで書いてリダイレクトしてるだろうけど、redirect_to params[:hoge]みたいに書いてる場合は?hoge=http://evil.example.comとかでevilなページに飛ぶし、turbolinksと関係なくよろしくないので暇を見て直しましょう。 話を戻してturbolinksだ

  • 1