伝言システム開発
by
Aokiti
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
伝言システム開発 課題研究 発表
Slide 2
Slide 2 text
• 伝言システム • 使い方 • 伝言システム詳細 • ログイン認証
Slide 3
Slide 3 text
伝言システム • 新宿山吹高校にある伝言システム 問題点: エントランスホールでしか伝言が確認出来ない
Slide 4
Slide 4 text
伝言システム • エントランスホールでしか伝言が確認出来ないことによる弊害 ・伝言のリアルタイム性が無い ・学校に行かないと伝言が確認できない ・2台しか置いてないため列が出来やすい
Slide 5
Slide 5 text
新宿山吹高校 伝言システム on Web
Slide 6
Slide 6 text
新宿山吹高校 伝言システム on Web • メリット ・スマホやPCからすぐに確認できる ・24時間いつでも見返すことが出来る ・伝言確認による列を解消
Slide 7
Slide 7 text
• 伝言システム • 使い方 • 伝言システム詳細 • ログイン認証
Slide 8
Slide 8 text
使い方 • 閲覧者画面(生徒)
Slide 9
Slide 9 text
使い方 • 送信者画面(先生)
Slide 10
Slide 10 text
使い方 • 管理者画面
Slide 11
Slide 11 text
• 伝言システム • 使い方 • 伝言システム詳細 • ログイン認証
Slide 12
Slide 12 text
伝言システム詳細 •使用技術など 使用言語: HTML, CSS, PHP, JavaScript ライブラリ: Bootstrap, SQLite ツール: XAMPP, Apache, Git, VS Code
Slide 13
Slide 13 text
伝言システム詳細 •伝言データ管理 id: 伝言に割り振られた番号 isNew: 伝言が読まれたかどうか messageFrom: 伝言の差出人 messageTo: 伝言の宛先 sender: 差出人の名前 subject: 教科 date: 伝言の日付 content: 伝言の内容
Slide 14
Slide 14 text
伝言システム詳細 • セキュリティ対策① - XSS対策 →伝言にJavaScriptコードを書いて送信することでウェブサイトが改ざんで きでしまう脆弱性
Slide 15
Slide 15 text
伝言システム詳細 • セキュリティ対策① - XSS対策 対策方法: 「<」は「<」に、「>」は「>」に変換する
Slide 16
Slide 16 text
伝言システム詳細 • セキュリティ対策② - CSRF対策 →別のサイトから伝言システムに保存されたログイン情報を使用して、伝言 が送信できてしまう脆弱性
Slide 17
Slide 17 text
伝言システム詳細 • セキュリティ対策② - CSRF対策 対策方法: ワンタイムトークンと呼ばれる一時的な文字列を発行し、伝言送信 時にサーバー側で再確認する
Slide 18
Slide 18 text
• 伝言システム • 使い方 • 伝言システム詳細 • ログイン認証
Slide 19
Slide 19 text
ログイン認証 • 認証方法 セッション認証(Cookieを使う方法) → メリット: 1度ログインしたら一定期間ログインデータが保持される
Slide 20
Slide 20 text
ログイン認証 •ユーザーデータ管理 username: ログイン時に使用するID pass: ログイン時に使用するパスワード name: 伝言の差出人に記載する名前 subject: 教科 authority: ユーザー権限
Slide 21
Slide 21 text
ログイン認証 • セキュリティ対策 – パスワード管理 →パスワードを「SHA-256」でハッシュ化してデータベースに保存
Slide 22
Slide 22 text
将来的に追加出来たら良い項目など • メッセージの一斉送信機能 • 履修科目の登録機能 • 伝言の通知機能 etc..
Slide 23
Slide 23 text
参考 • PHPによる簡単なログイン認証いろいろ - Qiita https://qiita.com/mpyw/items/bb8305ba196f5105be15 • SQLite入門 - DBOnline https://www.dbonline.jp/sqlite/ • jQueryでテキストボックスの変更を監視/検知する - Qiita https://qiita.com/maruyam-a/items/cf0168f91d934b449a07 • サーバーサイドプログラミング入門 28.脆弱性 - N予備校 https://www.nnn.ed.nico/courses/668/chapters/9516 • リロードによる多重投稿を防止する - GRAYCODE https://gray-code.com/php/make-the-board-vol23/