管理人

SEとして働く管理人「まつ」がつぶやく個人運営サイトになります。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

DHCPとは

2022/12/25

DHCPとは | 分かりやすく図解で解説

DHCPとは DHCPとは、インターネットなどのネットワークに一時的に接続するコンピュータに、IPアドレスなど必要な情報を自動的に割り当てるプロトコルです。   インターネットなどのネットワークに接続し通信をおこなうためには、IPアドレスと呼ばれるインターネット上の住所が必要です。 郵便物を送るときに「送り元住所」と「送り先住所」が必要なのと同じで、コンピュータ間で通信する際は「送信元IPアドレス」と「送信先IPアドレス」が必要なのです。   この「IPアドレス」を自動的に採番するネッ ...

UMLとは|UMLの種類

2022/12/25

UMLとは|UMLの種類を分かりやすく解説

UMLとは UML(Unified Modeling Language )とは、主にオブジェクト指向の開発において「データの構造」や「処理の流れ」などをわかりやすくビジュアル化した図のことで、設計段階で用いられる標準的な記法のことをいいます。 UMLには様々な種類があり、その中でも大きく以下の2つに分けられています。 システムの構造を表す構造図(structure diagram) 動作や変化を表す振る舞い図(behavior diagram) 【UMLの種類】構造図 クラス図(class diagram ...

【Java】ディープコピーの実装方法

2024/6/20

【Java】ディープコピーの実装方法

ディープコピーの実装方法 [方法1] Cloneableを使ってディープコピー(clone)する Javaで提供されているCloneableインタフェースを実装することで、ディープコピーできます。 1. Cloneableをimplementsし、cloneメソッドを実装する Cloneableを使ってディープコピーを実装する場合は、コピー対象となるオブジェクトがCloneableをimplementsする必要があります。 そしてcloneメソッドをOverrideしclone処理を書きます。 具体的なサ ...

ディープコピーとシャローコピーの違い

2024/5/27

ディープコピーとシャローコピーの違い

「ディープコピー」と「シャローコピー」の違い シャローコピーとは シャローコピーとは浅い(shallow)コピーと呼ばれ、実体(データ)のコピーを行わないで、オブジェクトをコピーする方式です。要するに見せかけの複製を作るコピーです。 オブジェクトはメモリ上にある実体(データ)を参照します。シャローコピーでは、実体(データ)のコピーを行わないので、シャローコピーで生成されたオブジェクトは、コピー元オブジェクトと同じ実体(データ)を参照することとなります。 シャローコピーで作られたオブジェクトは、参照している ...

ディープコピー(deep copy)とは

2022/12/25

ディープコピー(deep copy)とは

ディープコピー(deep copy)とは ディープコピー(deep copy)とは深い(deep)コピーと呼ばれ、コピー元オブジェクトから実体(データ)を複製し別オブジェクトを生成する方式です。 オブジェクト(データを格納する箱※Beanクラス)はメモリ上にある実体(データ)を参照しています。 このオブジェクトに対して「ディープコピー」を行うと、コピーされたもう一つの「コピー先オブジェクト」が生成されます。 この時、メモリ上にある実体(データ)もコピーされます。これが「ディープコピー」です。 「ディープコ ...

シャローコピー(shallow copy)とは

2024/10/19

シャローコピー(shallow copy)とは

シャローコピー(shallow copy)とは シャローコピー(shallow copy)とは浅い(shallow)コピーと呼ばれ、コピー元オブジェクトから、同じ実体(データ)を参照する別オブジェクトを生成する方式です。 オブジェクト(データを格納する箱※Beanクラス)はメモリ上にある実体(データ)を参照しています。 このオブジェクトに対して「シャローコピー」を行うと、コピーされたもう一つの「コピー先オブジェクト」が生成されます。 見た目は2つのオブジェクトが存在するように見えますが、実際は「コピー元オ ...

【UML】クラス図とは | クラス図の書き方と記号

2024/5/13

【UML】クラス図とは | クラス図の書き方と記号

クラス図(class diagram)とは クラス図とは、クラスの定義や関連付けを示す図です。 システムを構成するクラスに定義されている属性(フィールド)や操作(メソッド)を表現し、クラス間がどう関連付けられているかの関係性をあらわします。 クラス定義 クラスの定義は以下のような図で定義します。 クラス名 クラス名は以下の形式で記述します。 ※パッケージ名は省略可能です。 属性 属性は以下の形式で記述します。 ※フィールド名以外は省略可能です。 操作 操作は以下の形式で記述します。 ※メソッド名以外は省略 ...

Eclipseでクラス図を自動生成する方法

2022/12/25

Eclipseでクラス図を自動生成する方法

Eclipseでクラス図を自動生成する方法 Eclipseのプラグイン「AmaterasUML」を使用してクラス図を自動生成する手順を紹介します。 GEFインストール AmaterasUMLを使うためには、GEFが必要です。まずはGEFのインストールを行います。 【手順1】新規ソフトウェアのインストールを開く Eclipseを起動し「ヘルプ(H)」→「新規ソフトウェアのインストール」を押下します。 【手順2】GEF SDKの選択 作業対象(W)に「http://download.eclipse.org/r ...

ウイルス

2024/9/14

マルウェアの種類 マルウェアとウイルスの違い

マルウェアの種類 マルウェアとは、コンピュータウイルスを含む悪意のあるプログラムの総称のことです。広義のウイルスとも呼ばれています。 マルウェアには主に次のようなものがあります。 コンピュータウイルス 経済産業省の「コンピュータウイルス対策基準」によると、「自己伝染機能」「潜伏機能」「発病機能」の3つの中で1つでも当てはまればコンピュータウイルスであると定義されています。 (1)自己伝染機能自らの機能によって他のプログラムに自らをコピーし又はシステム機能を利用して自らを他のシステムにコピーすることにより、 ...

サイバー攻撃

2022/12/25

【セキュリティ】サイバー攻撃の種類まとめ

サイバー攻撃の種類まとめ サイバー攻撃とは、特定の国家、企業、団体、個人に対しネットワークを通じて「破壊活動」や「データの改ざん」「データの窃取」などを行う行為です。国家の安全保障を脅かしたりすることを目的とする破壊活動は、サイバーテロともいわれています。 不正アクセスを試みる攻撃 辞書攻撃 辞書攻撃とは、辞書に載っている単語や単語の組み合わせからパスワードの候補を作り、その候補を片っ端から試すことによりパスワードを破ろうとする攻撃です。 相当な数が収録されている辞書からパスワードの候補を作り、その候補を ...

一般的なWebアプリケーションの脆弱性対策まとめ

2020/10/2

一般的なWebアプリケーションの脆弱性対策まとめ

Webアプリケーションの脆弱性対策まとめ Webエンジニアであれば、一般的な知識であるWebアプリケーションの脆弱性対策。 本記事では、Webアプリケーションの脆弱性対策を図解で分かりやすく解説していきます。 [対策1] クロスサイト・スクリプティング クロスサイトスクリプティング(XSS)とは、Webサイトの掲示板など閲覧者が投稿できる入力フォームから「悪意のあるスクリプト」を投稿することで、Webサイトのページ内に悪意のあるスクリプトを埋め込む攻撃。 そして、悪意のあるスクリプトを埋め込まれたWebサ ...

メールヘッダ・インジェクションとは

2024/5/29

メールヘッダ・インジェクションとは | 分かりやすく図解で解説

メールヘッダ・インジェクションとは Webサイトには「お問い合わせフォーム」や「アンケート」などのように特定の相手にメールを送信する機能があります。この時、Webサイトで入力した内容を送信する相手はシステム側で固定(主にWebサイトの管理者など)されているのが一般的です。 メールヘッダ・インジェクション攻撃は「お問い合わせフォーム」や「アンケート」などのように特定の相手にメールを送信する機能に対して、入力データを"改ざん"することで、メールの送信先を「悪意のある攻撃者」によって操作する攻撃のことをいいます ...

AMPページにコメント欄へのボタンを設置する方法

2022/12/25

AMPページにコメント欄へのボタンを設置する方法

【WordPress】AMPページにコメント欄へのボタンを設置する方法 AMPページに通常のコメント欄は表示されない AFFINGER5のコメント欄は以下のようなイメージですが、AMPを適用するとAMPページにコメント欄は表示されません。 AMPとはGoogleが推進する主にモバイルページの表示速度を高速に表示させるための技術です。AMPを適用することで、サイトの表示速度は高速となりますが、コメントのような一部の機能が使えなくなるデメリットがあります。   本記事では、AMPページにコメント欄へ ...

クロスサイトリクエストフォージェリ(CSRF)とは

2024/5/23

クロスサイトリクエストフォージェリ(CSRF)とは

クロスサイトリクエストフォージェリ(CSRF)とは クロスサイトリクエストフォージェリ(CSRF)とは、会員サイトなどでログイン状態を保持したまま「悪意のある攻撃者」が作成した罠サイトのボタンやリンクを押下することで、利用者の意図しない形でリクエストを送られてしまう攻撃です。 クロスサイトリクエストフォージェリ(CSRF)の説明の前に、セッションIDがどのようなものか理解しておくことをお勧めします。セッションIDの説明は以下をご覧ください。 [CSRFの流れ1] 会員サイトにログインする 悪意のある攻撃者 ...

ディレクトリトラバーサルとは

2022/12/25

ディレクトリトラバーサルとは | 分かりやすく図解で解説

ディレクトリトラバーサルとは ディレクトリトラバーサルとは、Webサイトからファイル名を直接指定するようなWebアプリケーションに対して、ファイル名を不正に書き換え、本来閲覧することができないファイルにアクセスする攻撃です。   例えば、以下のようなWebアプリケーションが存在するとします。 Webサーバには、以下の2つのファイルが存在。 /home/work/sample.txt :公開しているファイル /home/pass/password.txt :機密情報で公開していないファイル そして ...

OSコマンド・インジェクションとは

2022/12/25

OSコマンド・インジェクションとは

OSコマンド・インジェクションとは OSコマンド・インジェクションとは、Webサイトの入力フォームや掲示板などで「OSコマンド(※コンピュータへの命令文)」を含む文字列を送信することで、Webサーバに意図しない「OSコマンド」を実行させる攻撃です。 OSコマンド・インジェクション攻撃により発生しうる脅威は以下の通りです。 脅威 説明 サーバ内ファイルの不正操作 重要情報の漏洩(重要なファイルを閲覧される)や設定ファイルの改ざん、重要なファイルの削除など 不正なシステム操作 OSのシャットダウンやユーザアカ ...

サイバー攻撃

2024/6/20

セッションハイジャックとは | 分かりやすく図解で解説

セッションハイジャックとは セッションハイジャックとは、Webサイトなどで利用されるセッションIDを盗聴や推測で盗み出し、利用者に「なりすまし」不正アクセスを行うサイバー攻撃の一種です。 セッションIDとは 一般的に個人情報を扱う会員サイトはログイン画面があり、ログインIDとパスワードで認証することで会員サイトにログインします。 この時、ログインした会員のセッションを識別するIDとして「セッションID」が、サーバで払い出されます。Webサーバにより払い出された「セッションID」は、Webブラウザで情報を共 ...

セッションID

2024/5/23

セッションIDとは | 分かりやすく図解で解説

セッションIDとは セッションIDとは、Webサイトなどで通信中の利用者が使用するセッションを識別するためのIDのことです。セッションIDは一般的にログイン時にWebサーバにより払い出され、ログアウトするまで維持します。 Webサイトは複数のユーザが利用します。もしセッションIDが存在しないと、要求を受けたサーバは誰からのリクエストなのか判断できません。 このようにログイン時にセッションIDを払い出し、利用者を識別する仕組みのことを「セッション管理」といいます。 Webサーバにより払い出された「セッション ...

Dos攻撃

2023/12/9

DoS攻撃とは

DoS攻撃ってなに? DoS攻撃(Denial of Servicesの略)とは、攻撃の標的となったWebサイトやサーバに対して大量のデータを送信するサイバー攻撃の一種です。 大量データの負荷に耐えられなくなった、Webサイトやサーバはシステムを正常に稼働することが困難な状態に追い込まれます。 DoS攻撃には、以下の2通りが存在します。 名前 説明 フラッド型 Floodとは"洪水"という意味で、大量のデータや巨大なデータを送り付けることでサービスを利用不能にする攻撃。 脆弱性型 サービスの脆弱性を利用す ...

クリックジャッキングとは

2024/11/20

クリックジャッキングとは | 具体的な攻撃例

クリックジャッキングってなに? クリックジャッキングとは「透明で見えない罠ページ」と「真正なWebページ」を重ねて表示し、利用者に意図しない操作を行わせる手法です。 一般的に知名度のあるWebページや無害なWebページをiframeで読み込みます。そしてスタイルシート(CSS)などを利用して透明で見えない罠ページを作り、iframeで読み込んだ「真正なWebページ」と「罠ページ」を重ねて表示させます。 その結果、利用者は「罠ページ」が隠れていることに気がつきません。重ねて表示されている「真正なWebページ ...