10日目
AtCoder 4h サーバーサイド 2h
3-26「デザイン改善」
- ファビコン機能を使ってサイトのアイコンを実装
- Bootstrap:レスポンシブデザインのパーツ集(HTML CSS Js)
- Moment Timezone というライブラリで ('YYYY年MM月DD日 HH時mm分ss秒') の形式で時間を表示
3-27「脆弱性について」
- OS コマンド・インジェクション:URLにコマンドを打ちこんで実行させられてしまう
- execSync のようなOSコマンドを使うときは要注意
- テンプレートエンジン 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コンテストずつ過去問やっていきたいな。