Python中文
首页
教程
问答
标签
搜索
登录
注册
为什么Django不在Varnish代理后面生成CSRF或会话cookie?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在带有Apache2的Linux服务器上运行Django 1.2.5,由于某些原因,Django似乎无法存储CSRF或会话cookie。因此,当我试图登录到Django管理员时,它在提交登录表单时会给我一个CSRF验证错误。有人反对这个问题并找到解决办法吗?在</p> <p>当我在主机提供的VPS的url上尝试此操作时,我能够发出有效的帖子。示例:vps123。hostdomain.com/admin/对于这个域,cookies确实设置好了。但是,当我去www.sitedomain.com/admin/尝试登录时,我收到一个csrf403错误,说cookie不存在,当我检查浏览器cookie时,它们没有设置。在</p> <p>我已尝试在设置文件中设置以下内容:</p> <pre><code>SESSION_COOKIE_DOMAIN = 'www.sitedomain.com' CSRF_COOKIE_DOMAIN = 'www.sitedomain.com' </code></pre> <p>也尝试过:</p> ^{pr2}$ <p>我有django.middleware.csrf.CsrfViewMiddleware'添加到我的中间件类中设置.py表格中有一个CSRF代币,它会出现在帖子中。在</p> <p>我启用了cookies。我已经在多个浏览器和机器上尝试过了。在</p> <p>前面有一个varnish代理服务器www.sitedomain.com网站我认为这可能是问题的一部分。任何有使用代理服务器和Django的经验的人都可以对此有所了解。在</p> <p>我的apache2配置:</p> <pre><code>NameVirtualHost *:80 <VirtualHost *:80> ServerName www.sitedomain.com ServerAlias www.sitedomain.com <Location "/"> Options FollowSymLinks SetHandler python-program PythonInterpreter nzsite PythonHandler django.core.handlers.modpython PythonDebug On PythonPath "['/var/www/django_projects', '/var/www', '/usr/lib/python2.6/dist-packages'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE project_one.settings </Location> <location "/phpmyadmin"> SetHandler None </location> </VirtualHost> <VirtualHost *:80> ServerName othersite.sitedomain.com ServerAlias othersite.sitedomain.com <Location "/"> Options FollowSymLinks SetHandler python-program PythonInterpreter ausite PythonHandler django.core.handlers.modpython PythonDebug On PythonPath "['/var/www/django_projects', '/var/www', '/usr/lib/python2.6/dist-packages'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE project_two.settings </Location> <location "/phpmyadmin"> SetHandler None </location> </VirtualHost> </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你用csrf信息更新你的模板数据吗?在</p> <pre><code>from django.core.context_processors import csrf def index(request) data = {"listitems": items} data.updates(csrf(request)) return render_to_response('template.html', data) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
7 回答
如何在乒乓球游戏中阻止球
6 回答
如何在乘法和模中不乘空间?
7 回答
如何在乘法和除以2个不同的数字之间进行交换?
2 回答
如何在也是数据一部分的单个字符上拆分大字符串
6 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
9 回答
如何在事件wxWidgets中传递自定义数据
4 回答
如何在事件中使用lambda i=i?
3 回答
如何在事件中心只接收最近的数据
1 回答
如何在事件发生之前保持云函数运行?
4 回答
如何在事件发生后使页面重定向到同一页面
9 回答
如何在事件回调之间保持python生成器的状态
5 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
5 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
2 回答
如何在事件处理程序中访问外部对象?
4 回答
如何在事件循环中将协程打包为正常函数?
8 回答
如何在事件循环之外运行协同程序?
5 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
2 回答
如何在事件文件中只保留一份摘要?
9 回答
如何在事件模板中添加事件
5 回答