【问题标题】:Sending data to django server from a non-django server从非 django 服务器向 django 服务器发送数据
【发布时间】:2010-10-11 17:26:36
【问题描述】:

我正在制作一个书签,我需要人们先登录。我的问题是如何将登录凭据从不同的域发送到 django 服务器?

我在想有几种方法,因为我不能使用通过请求发送数据。

  1. 在客户端生成 sha1 算法...但是我怎么知道 Django 正在使用什么进行盐渍化以及如何确保它的安全?

  2. 想办法将一些帖子数据从不同的域发送到我的服务器。

还有其他想法/实现吗?

非常感谢

【问题讨论】:

    标签: javascript python django bookmarklet


    【解决方案1】:

    您可以将 POST 数据(当然是通过 SSL)发送到您的 Django 站点。您的视图将处理请求。如果您发布到该视图,您可以使用 django.contrib.auth 方法进行身份验证。以下摘自http://docs.djangoproject.com/en/dev/topics/auth/

    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                # Send success message.
            else:
                # Return a 'disabled account' error message
        else:
            # Return an 'invalid login' error message.
    

    【讨论】:

    • 我将通过 SSL 进行,但 SSL 是否使其变得至关重要?它不适用于 SSL 吗?在我的测试环境中,我目前没有使用 SSL(django 开发服务器),如果它来自不同的域,则不会收到 post 请求。
    • 如果没有 SSL,您的密码将以明文形式发送。从理论上讲,有人可以从通讯中嗅出它。
    • 这不起作用。请求对象出现空。有什么想法吗?
    猜你喜欢
    • 2020-04-13
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    相关资源
    最近更新 更多