Django 和一切都在服务器上运行。当他/她本地机器上的用户访问应用程序时,我需要将这台本地机器上的 IPV4 和 IPV6 保存到一个表单中。
这是我用来保存数据的视图:
def t031003form_save(request):
form = T031003Form(request.POST or None, request.FILES or None)
if request.method == 'POST':
if form.is_valid():
form = form.save(False)
form.C003LOGB = datetime.date.today()
form.C003LOGD = socket.gethostbyname(socket.gethostname())
form.save()
form = T031003Form()
else:
return HttpResponseRedirect('/erro/')
return render_to_response('T031003Form_save.html', {'form': form,}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
但是有了这个视图,我不确定我用来保存 IPV4 的字段是否只从 Django 运行的地方(即服务器)选择 IPV4 地址。我想它不会从我需要的本地机器上选择 IPV4 地址。
非常感谢您对我的任何帮助。
您只能获得用户用于访问您网站的 IP 地址,即 IPv4或IPv6,但不能同时获得两者。当前 IP 地址可通过以下方式获得request.META['REMOTE_ADDR']
但是,有一种相当简单的方法可以同时获得两者:
v4.yourdomain.tld并且v6.yourdomain.tld它们只能到达通过的IPv4 / 6。在您的实际页面上,生成与用户关联的随机令牌并创建脚本标记:
<script src="//vX.yourdomain.tld/?token=YYY"></script>
Run Code Online (Sandbox Code Playgroud)
如果用户通过 IPv4 访问您的页面,请使用X=6,否则使用X=4。
| 归档时间: |
|
| 查看次数: |
2727 次 |
| 最近记录: |