.htaccessを使ってログイン機能なしで自作のアプリを完全保護! IP制限とサーバ内部アクセスの仕組み

自分で作ったアプリを個人利用するためにログイン機能を使わずに.htaccessを使う chat-GPT

個人利用目的で作ったアプリを自分だけが使えるように保護したいとき、

htaccessを使うことで簡単かつ効果的なアクセス制限ができました。

本記事では、備忘録としてhtaccessの基本から、グローバルIPと固定IP、VPNの役割、プロバイダとの関係まで網羅的に解説します。

スポンサーリンク

1. .htaccessとは?

自分で作ったアプリを個人利用するためにログイン機能を使わずに.htaccessを使う

今回私が実装したいのは、製作したサイトに自分だけがアクセスできるようにする機能です。

.htaccessは、Apache Webサーバー上で動作するディレクトリごとの設定ファイルです。

サーバーへのアクセス制限や、リダイレクト、エラーページの設定など、さまざまな管理が可能です。

主な機能

  • 特定のIPアドレスだけアクセス許可
  • ディレクトリのパスワード保護
  • URLのリダイレクト・リライト
  • キャッシュ制御とエラーページのカスタマイズ

2. アプリへのアクセス制限を設定する理由とメリット

自分で作ったアプリを個人利用するためにログイン機能を使わずに.htaccessを使う

今回、Instagramの自動投稿アプリを開発した際、個人利用目的で作成したため、他のユーザーに見られないようにする必要がありました。

うっかりURLが他の人に知られてしまうと、データベースの登録や投稿をされてしまう可能性が少なからずあるためです。

ログイン機能も試しましたが、ログイン管理によるセッション切れが予約投稿機能に影響したため

htaccessを使うことでIP制限を設定しました。

3. .htaccessを使ったIPアドレス制限の設定

.htaccessファイルの作成例

.htaccessというファイルを作り以下のような文章を書き込みます。

Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 121.xxx.xxx.xxx
  • Order Deny,Allow:最初にすべてのアクセスを拒否し、許可されたIPのみアクセス可能にします。
  • Allow from 127.0.0.1:サーバー内部(Cronジョブ)のアクセスを許可。
  • Allow from 121.xxx.xxx.xxx:自宅のネットワーク(あなたのIP)からのアクセスを許可。

自分のIPアドレスは、WhatIsMyIPなどのサイトで確認できます。

私の場合、予約した日時にプログラムが動いてくれる必要があります。

そこでXサーバーのCron機能が動くように127.0.0.1 も許可します。

そうすることでXサーバーにこのファイルを保存すると、そのサーバー内での自動投稿などの動きを許可できることになります。

127.0.0.1(ループバックアドレス)とは?

  • 127.0.0.1は、ネットワークインターフェースの一つで、自分自身を指す特別なIPアドレスです。
  • これは、サーバー内での内部通信を行うために使用されます。外部のネットワークやインターネットとは関係なく、サーバー内で完結するため、効率的かつ安全です。

ポイント
.htaccessはアプリの設置されたディレクトリに置き、FTPソフト(例:Cyberduck)を使ってサーバーにアップロードします。

4. グローバルIPとローカルIPの違い

私の場合は先ほどのファイルをつくることですぐにうまくいきましたが、IPには種類があるらしく、ここからの内容にも注意が必要みたいです。

グローバルIP

  • インターネット全体での識別子
  • Wi-Fiやルーターを通じて、同じ家庭内のすべての端末が同じグローバルIPを使います。

ローカルIP

  • 家庭やオフィス内ネットワークで使用される内部用のアドレス(例:192.168.x.x)。
  • ルーターが各端末に自動で割り当てます。

重要な点

  • .htaccessで使用するのはグローバルIPです。自宅のWi-Fiや有線ネットワークを通じたアクセスが、設定したグローバルIPに基づき制御されます。

5. グローバルIPの変動と固定IPの活用

動的IPとは?

  • 多くの家庭用回線では、プロバイダ(例:フレッツ光、SoftBank光)から動的IPが割り当てられます。
  • ルーターの再起動やプロバイダ側の切り替えでIPが変更されるため、都度.htaccessを更新する必要がある可能性があります。

固定IPとは?

  • 常に同じIPが割り当てられる契約。サーバー運用やVPN接続に向いています。
  • 固定IPは、プロバイダでオプション契約することで利用可能です。

6. 実際に試してみた結果

自分で作ったアプリを個人利用するためにログイン機能を使わずに.htaccessを使う

  • Wi-Fiを切ってスマホからアクセスした場合、アクセスが拒否され、「403 Forbidden」のエラーが表示されました。
  • Cronジョブの動作も問題なく行われ、自宅ネットワークやサーバー内部のアクセスが正常に機能しました。

これでセキュリティも上がったと思います。

9. まとめ:.htaccessでのアクセス制限とIP管理の重要性

  • .htaccessを使ったIP制限により、セキュリティを強化し、予約投稿などの機能を維持しつつ、不正アクセスを防ぐことができました。
  • グローバルIPと固定IPの違いを理解し、適切な管理をすることで、安定した運用が可能になります。
  • 外出先からのアクセスにはVPNの活用が便利で、安全な接続が可能です。

もしも定期的にIPアドレスが変わってしまうということなら、ログイン機能を実装してしまった方が速そうですね。AIがログイン機能のプログラムを作ってくれるので最近では実装も簡単です。

ただ、予約した内容を実行したい時などには.htaccessは便利そうです。

【クリエイタープロフィール pekopoko】

irokazari+

プロフィールページはこちら

日常を・心を豊かにする作品を届けたいと願うハンドメイド作家のpekopokoです。

レザークラフトやマクラメ編みを取り入れ、リラクゼーション効果のある作品を一つひとつ心を込めて手作りしています。

ハンドメイド歴10年、販売士二級の現役ショップ店員兼副業作家です

現在はメタバースにハンドメイドショップを作りたいと思い、コツコツと勉強中です。

作品はオンラインショップでご覧いただけます。

BASEでオリジナルサイトを開設しました!

物作りで日常を明るく♪をコンセプトに活動中のハンドメイド作家です。minneメルカリショップス 、Creemaにてマクラメ・レザーブレスレットなどを中心に出品中です。

 

コメント

タイトルとURLをコピーしました