Python
 Computer >> コンピューター >  >> プログラミング >> Python

DjangoでPOSTリクエストのIPアドレスを取得する


この記事では、POSTリクエストを取得する場所からのIPアドレスを取得する方法を説明します。セキュリティパラメータをチェックし続けることが重要な場合があります。一部のIPを禁止する必要がある場合や、1つのIPから送信するリクエストが多すぎるかどうかを確認する必要がある場合があります。サードパーティのパッケージを使用して簡単に実行できる方法を見てみましょう。

Djangoプロジェクトとアプリを作成します。 URLを設定する INSTALLED_APPSにアプリを追加するなどの基本的な操作を行います。

Djangoのフォームやモデルは使用しません。

まず、 django-ipwareをインストールします パッケージ-

pip install django-ipware

このための構成は必要ありません。

次に、テンプレート→home.htmlに移動します 次を追加します-

<!DOCTYPE html>
<html>
   <head>
      <title>tut</title>
   </head>
   <body>

      <form method="post" action= '/'
enctype="multipart/form-data">
               <input type="text" id= "text"/>
            <input type="submit" value="submit"/>
      </form>
   </body>
</html>

ここでは、フォームのフロントエンドを作成しました。これは、IPをチェックするために使用されます。

アプリのurls.py

from django.urls import path, include
from . import views
urlpatterns = [
   path('',views.home,name='home'),
]

ここで、ビューをレンダリングしました。

views.py内 −

from django.shortcuts import render
from ipware import get_client_ip
def home(request):
   if request.method=="POST":
      # We get ip here
      client_ip, is_routable = get_client_ip(request)
      # Client IP is IP address
print(client_ip, is_routable)
   return render(request,'home.html')

ここで、POSTリクエストでは、 get_client_ip()を使用します リクエストがどのIPから送信されているかを確認するために、2つの値を返します。

出力

localhostを使用していることを念頭に置いて、出力は-

になります。
[23/Aug/2021 13:34:55] "GET / HTTP/1.1" 200 9999
127.0.0.1 False
[23/Aug/2021 13:34:58] "POST / HTTP/1.1" 200 9999

  1. DjangoレストフレームワークJWT認証

    Django RESTフレームワークを使用したことがある場合は、JWT認証について確実に知っています。 JWT認証はトークン認証に使用され、Djangoでの認証に非常に人気のある方法です。 JWTはJSONWebTokenの略です。使い方を見てみましょう。 まず、パッケージをインストールします- pip install djangorestframework-simplejwt pip install djangorestframework このためのアプリは必要ありません。DjangoRESTフレームワークのフロントエンドと認証バックエンドの基本的なセットアップを行うだけです。 例

  2. Facebook グループ投稿の承認リクエストを設定する

    Ifあなたが Facebook のアクティブなユーザーであれば、Facebook のグループについて、また一度に多くの人とつながることがどれほど便利かを知っているでしょう。アイデアや計画を共有し、他の人と話し合うのに最適な媒体です。グループを使用すると、メンバーはより近くなり、さまざまなテーマについて意見を共有するだけでなく、写真やビデオも共有できます。 多くの Facebook ユーザーが、世界中のメンバーを含むグループを作成しています。あなたもそのようなグループの管理者であれば、グループを維持するために必要な管理を認識しているでしょう。グループのメンバーが無関係または不適切なコンテンツを投