10日目

AtCoder 4h サーバーサイド 2h


3-26「デザイン改善」

  • ファビコン機能を使ってサイトのアイコンを実装
  • Bootstrap:レスポンシブデザインのパーツ集(HTML CSS Js)
  • Moment Timezone というライブラリで ('YYYY年MM月DD日 HH時mm分ss秒') の形式で時間を表示

3-27「脆弱性について」

  • OS コマンド・インジェクション:URLにコマンドを打ちこんで実行させられてしまう
  • execSync のようなOSコマンドを使うときは要注意

3-28「XSS 脆弱性を防ぐ」

  • テンプレートエンジン pug には、 XSS を防ぐためのエスケープ処理が実装されている
  • しかしこの機能によって br タグも反応しなくなってしまう ⇒ リグレッション
  • 改行やタブを表示させるための CSS で直す

3-29「パスワード脆弱性の対策」

  • メッセージダイジェストを利用したパスワードの保護

3-30「セッション固定化攻撃脆弱性の対策」

  • セッション固定化攻撃⇒IDなりすましなど
  • これもハッシュ生成で対策可能
  • crypto モジュール には暗号化のための関数が実装されている
  • split関数のメモ
const trackingId = originalId + '_' + createValidHash(originalId, userName);
~
const splitted = trackingId.split('_');
const originalId = splitted[0];
const requestedHash = splitted[1];


AtCoder は昨日解けなかったC問題を復習。累積和を取得した。それと過去問のABC124をやった。1日1コンテストずつ過去問やっていきたいな。