Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 来自同一服务器的TastyPie身份验证_Python_Django_Tastypie - Fatal编程技术网

Python 来自同一服务器的TastyPie身份验证

Python 来自同一服务器的TastyPie身份验证,python,django,tastypie,Python,Django,Tastypie,我在TastyPie中有一个API,它在同一个域上使用。我只想允许请求来自我的服务器 TastyPie有许多不同的身份验证选项,但是我不能使用会话身份验证,因为没有人登录,并且可以在我的脚本中查看API密钥 所以我想我可以用一个带有Django csrf标记的来验证这篇文章。这是否可能是任何示例(我已经搜索过)或是否有我遗漏的选项?提供了以下获取请求IP地址的方法: def get_client_ip(request): x_forwarded_for = request.META.ge

我在TastyPie中有一个API,它在同一个域上使用。我只想允许请求来自我的服务器

TastyPie有许多不同的身份验证选项,但是我不能使用会话身份验证,因为没有人登录,并且可以在我的脚本中查看API密钥

所以我想我可以用一个带有Django csrf标记的来验证这篇文章。这是否可能是任何示例(我已经搜索过)或是否有我遗漏的选项?

提供了以下获取请求IP地址的方法:

def get_client_ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip
您可以尝试将其与自定义的
身份验证
类耦合,如下所示:

class IpAuthentication(Authentication):
    def is_authenticated(self, request, **kwargs):
        return get_client_ip(request) in SETTINGS.ALLOWED_IPS:
您必须填写自己的
设置。允许的\u IPS
列表。然而,这是因为IP地址可以伪造