이 기사에서는 POST 요청을 받은 IP 주소를 얻는 방법에 대해 알아봅니다. 때때로 보안 매개변수를 확인하는 것이 중요합니다. 때로는 일부 IP를 금지해야 할 수도 있고 누군가가 단일 IP에서 너무 많은 요청을 보내는지 확인해야 할 수도 있습니다. 타사 패키지를 사용하여 쉽게 수행할 수 있는 방법을 살펴보겠습니다.
예
Django 프로젝트와 앱을 만듭니다. URL 설정 INSTALLED_APPS에 앱 추가와 같은 몇 가지 기본적인 작업을 수행합니다.
Django 양식이나 모델은 사용하지 않습니다.
먼저 django-ipware를 설치합니다. 패키지 -
pip install django-ipware
이에 대한 구성이 필요하지 않습니다.
이제 템플릿 → home.html으로 이동합니다. 다음을 추가하십시오 -
tut
여기서는 IP를 확인하는 데 사용할 양식에 대한 프런트엔드를 간단하게 만들었습니다.
앱의 url.py에서 -
from django.urls 가져오기 경로, includefrom . import viewsurlpatterns =[ 경로('',views.home,name='홈'),]
여기에서 우리는 우리의 관점을 표현했습니다.
views.py에서 -
from django.shortcuts import renderfrom ipware import get_client_ipdef home(request):if request.method=="POST":# 우리는 여기서 ip를 얻습니다 client_ip, is_routable =get_client_ip(request) # 클라이언트 IP는 IP 주소입니다print(client_ip, is_routable ) return render(request,'home.html')
여기에서 POST 요청에서 get_client_ip()를 사용합니다. 요청이 들어오는 IP를 확인하기 위해 두 개의 값을 반환합니다.
출력
우리가 localhost를 사용하고 있다는 사실을 염두에 두고, 당신의 출력은 다음과 같을 것입니다 -
[23/Aug/2021 13:34:55] "GET / HTTP/1.1" 200 9999127.0.0.1 False[23/Aug/2021 13:34:58] "POST / HTTP/1.1" 200 9999사전>