『Nodejs実戦』読後感

2609 ワード

もっと読む
 
    前言:
 
       実は多くの人がNodeの勉強を始めました.あるいはexpressのような倉庫を試してwebの開発をしました.しかし、実戦の経験はそんなに多くないです.原因は簡単です.今のプロジェクトや自分のlevelはまだこのようなnodeのcaseを受けられません.この本はcnodeコミュニティの老人が集まっています.
 
 
    本文:
 
       試読の部分は後の部分に属しています.主にnodeサービスに関する安全に取り組んでいます.
 
  • webセキュリティとは?
  • 機密性:書籍の内容を漏洩しないように保護し、暗号化する
  • .
  • 完全性:データは改竄されない
  • 利用可能性:webサイトはアクセスでき、Dos
  • は拒否される.
     
  • HTTP配管洪水ホール
  •     これは主に0.8.26と0.11の前に現れます.
     
           クライアントはサーバ端の応答を受信しないが、クライアントはまた要求を懸命に送り、Streamのストリームが排水できなくなり、ホストメモリが消耗して崩壊してしまう.
     
     
        いくつかの攻撃手段:
     
  • SQL注入:実はこれはよく分かりません.書いたのは少し少ないです.
         予防措置を大まかにメモしてください.SQLクエリステートメントに接続された変数はみなescapeフィルタ関数を経て、比較的成熟したORMフレームを使用します.
     
  • XSSスクリプトアタック【Cross-Stite-cripting】
  •      実はこの先端は何度も会ったことがあります.
     
  • ajaxのxss注入
  • base 64注入
  • ASC IIコード
  • ピクチャsrcのonerror
  • linkのhref
  • iframe
  •     実はこれらの大部分は全部濾過します.
     
     
     
  • CSRF要求偽造
  •     クッキーの特性:
     
  • 同源性:ドメインを越えた送信が機密漏洩の原因にならないことを保証する.
  • 付帯性:要求されるたびに、要求ヘッドバンドにクッキー情報
  • を付加することを保証する.
        sessionオブジェクトはファイルに保存してもいいし、メモリに保存してもいいです.第三者のメディアに保存することを提案します.redisまたはmongodb
     
        expressフレームはsessionをメモリに保存します.
     
        クッキーでsessionidを保存できるほか、urlパラメータで保存することもできます.
     
        Eideはsessionidを保存するためにユーザーの行動追跡にも使用される:
     
            Edは、静的リソースサーバがユーザ要求ヘッダの中のif-none-matchに対する応答である.
     
            一般的に、最初にある静的リソースを要求するのは、キャッシュ情報に関する要求ヘッダを持つことはない.このとき、静的リソースサーバは、リソースのサイズと最終的な変更時間に基づいて、Epingの値応答クライアントとして1つの文字列をハッシュ計算する.
     
            静的リソースに2回目の訪問の際、ローカルブラウザはサブイメージキャッシュを持っていますが、サーバがこの静的リソースを更新したかどうかは不明です.開始要求はif-none-matchパラメータを持っています.その値は前回サーバの応答を要求したEnd値です.サーバはこのif-none-match値を受信し、アルゴリズムに基づいてEdingを生成し、比較して、同じなら、リソースが更新されていないことを説明し、応答状態304
     
          実は以前のEdiaに対する理解はちょっとずれているようです.この中の説明を通して、Edingの値の定義の理解を深めました. 
     
  • アプリケーション層DoS拒否サービス
  • ファイルパス・ホール
  • 暗号化安全
  • 対称暗号化:AES DES
  • 非対称暗号化:RSA
  • 非可逆暗号:md 5、SHA-1
  •  
       ここに例があります.
     
    var crypto = require('crypto');
    
    var md5 = function(str, encoding){
        return crypto.createHash('md5')
                     .update(str)
                     .digest(encoding || 'hex');
    };
    
    console.log(md5("nodejs"));
    
     
       実は一番早い時、私はずっとこの方法でmd 5の転換をしていましたが、本の中では確かにいくつかのウェブサイトが簡単に解読されました.
     
       後はまだタイムスタンプ+gap+で暗号化したいものがあります.
     
     
       結語:
     
         実はNode関連のサービスの安全にも関心を持っていますが、確かにそんなに深くないです.今回の読書活動に感謝します.