问题列表 - 第21356页

验证HTTP请求的来源

我有两个系统需要交谈。系统设置如下:

System A,在Google App Engine(GAE)上运行Django(Python 2.5)

System B,通过Lighttpd在Ubuntu / Linux上运行Django(Python 2.6)(可能稍后是nginx)

系统A将使用Url Fetch定期向系统B发出请求(“请求”)。

系统B具有Django应用程序设置,可通过侦听这些请求,urls.py例如:

urlpatterns = patterns('producer.views',
    url(r'^requisition$', 'requisition', name='requisition'),
)
Run Code Online (Sandbox Code Playgroud)

和一个views.py类似的东西:

import json
from django.http import HttpResponse

def requisition(request):
    " do something "
    response = HttpResponse()
    response['Content-type'] = 'application/json'
    response.write(json.dumps(...))
    return response
Run Code Online (Sandbox Code Playgroud)

如果系统B仅对系统A的请求做出响应,那么这将是对系统安全性的宝贵补充。

我想知道系统B提供哪些选项来验证请求是否来自系统A。我考虑了以下问题:

  • 检查IP地址是否来自GAE(但是我不知道GAE IP地址,它们可能会更改,并且可能是被欺骗的)
  • 检查IP的反向DNS来自GAE(但是我不知道GAE的DNS条目是什么,如果它们会更改,并且可能是被欺骗的)
  • 使用系统A的TLS客户端证书-但我不知道如何使用GAE
  • 根据与pycrypto共享的内容(例如盐)进行质询/响应

理想情况下,我想以一个views.py类似这样的结尾:

... 
from django.http import HttpResponseForbidden 

def requisition(request):
   " do something "
  if not verify_request_origin():
     return HttpResponseForbidden("Denied.")

  response …
Run Code Online (Sandbox Code Playgroud)

python encryption django google-app-engine cryptography

5
推荐指数
1
解决办法
1250
查看次数

将 ConcurrentQueue<T> 公开为 IObservable<T>?

我想知道是否可以使用队列(特别是 ConcurrentQueue)作为 IObservable 的源?就像是;

  Queue = new ConcurrentQueue<IMessage>();
  var xs = Queue.AsEnumerable().ToObservable();

  xs.Subscribe((IMessage msg) =>
     {
        Console.WriteLine("Msg :" + msg.subject);
     });
Run Code Online (Sandbox Code Playgroud)

我想这确实没有意义,因为没有任何东西被出列。我正在尝试实现一个非阻塞进程,它可以订阅推送给观察者的“消息”,因此使用队列。我确信我应该能够用 RX 做到这一点,但似乎无法理解它!

我对有关如何实施的任何建议感兴趣。谢谢!

queue system.reactive c#-4.0

5
推荐指数
1
解决办法
2830
查看次数

float:右边不起作用

我有两个div,左边和右边的类.左边是浮动到左边和右边div是浮动到右边,但浮动不起作用,我不知道为什么...我不能在左边div设置宽度,因为我不知道右边的div图像宽度.所以它需要流畅......这里是页面:链接已删除.抱歉

这是它工作的页面. http://www.france24.com/en/20100111-freud-monet-basquiat-view-paris-2010

我花了3个小时,我不知道为什么没有浮动......

更新:问题已解决!谢谢 ;)

html css xhtml

5
推荐指数
1
解决办法
2万
查看次数

交互式编程语言?

是否有一种编程语言可以完全以交互模式编程,而无需编写被解释或编译的文件.想想可能像Ruby的IRB,但是一个旨在让你从命令行编写整个程序的系统.

programming-languages

5
推荐指数
2
解决办法
3950
查看次数

flash as3:调用函数时创建匿名对象?

如果我想将一个对象发送到一个名为foo等于"bar"的子项的函数,我需要执行以下操作:

var obj:Object = new Object();
obj.foo="bar";
myfunction(obj);
Run Code Online (Sandbox Code Playgroud)

有没有办法在函数本身声明对象?类似的东西:

myfunction(new Object{foo:"bar"}); 
Run Code Online (Sandbox Code Playgroud)

谢谢!

使用flash-as3.

flash object actionscript-3

3
推荐指数
1
解决办法
3959
查看次数

从github分支我自己的项目,然后将其推回到github,分支完好无损

这感觉就像我错过了一些明显的东西,但我已经阅读了3天的教程,似乎无法实现它.

我在github上有一个私人回购.我想把它作为两个独立的分支运行.据我了解,我克隆了repo,所以它在我的本地机器上,然后使用它进行分支

git branch newbranch

git checkout newbranch

到现在为止还挺好.现在我做了一些改变,承诺给newbranch.好像我可以将这一切都完整地推送到我的远程仓库,但是我很难做到这一点,而不是简单地将它与主人合并,这不是我想做的事情.如何将我的分支放在github上完好无损?

这是正确的工作流程吗?如果是的话,我做错了什么?

git github git-push git-remote

5
推荐指数
2
解决办法
1032
查看次数

SQL查询:获取与post关联的标签

我有三张桌子.

posts
| id      | title     |
+---------+-----------+
| 1       | hello     |
| 2       | goodbye   |
+---------+-----------+

posts_tags
| tag_id  | post_id   |
+---------+-----------+
| 1       | 1         |
| 2       | 1         |
| 2       | 2         |
+---------+-----------+

tags
| id      | name      |
+---------+-----------+
| 1       | news      |
| 2       | photos    |
+---------+-----------+
Run Code Online (Sandbox Code Playgroud)

我希望能够选择帖子,但结果就是这样

post.id    post.title    tags
------------------------------------
1          hello         news,photos
2          goodbye       photos
Run Code Online (Sandbox Code Playgroud)

就像是

SELECT *,
       GROUP_CONCAT(tags.name) AS tags
FROM posts
    LEFT …
Run Code Online (Sandbox Code Playgroud)

mysql tags

5
推荐指数
2
解决办法
2048
查看次数

IEEE 754中的指数

为什么浮点数的指数被替换为127?
那么,真正的问题是:与2的补码表示法相比,这种符号的优点是什么?

exponent ieee-754

2
推荐指数
1
解决办法
2557
查看次数

隐形验证码

我使用以下安全性(invisble captcha)为我的网站的表单提交,以防止自动提交:

  1. 使用数字x上的固定盐生成md5的结果,并将其作为隐藏字段在表单内呈现
  2. 生成2个隐藏字段a和b,其中a + b = x,a和b未加密
  3. 提交后,使用javascript添加另一个普通的隐藏字段c,其中c = a + b
  4. 在服务器端使用salt在c上应用md5,将其与加密的x进行比较

然而,这样的系统在生产中被破解,一个人能够成功地自动提交数千个表格.知道怎么样?

一种方法是,黑客已经知道操作是+(通过观察javascript很容易找到),读取表单并添加a和b,创建一个带有额外c字段的新表单,其中c = a +湾 他必须首先阅读一份表格,然后创建一份表格.

我的问题是:

  1. 我在上面提出的假设是否可能破坏我的系统?
  2. 如果是这样,我该怎么做才能防止这种黑客入侵?
  3. 黑客可能使用的其他替代黑客有哪些?

我不想使用真正的验证码,因为它会降低用户体验.欢迎所有建议.

captcha

2
推荐指数
1
解决办法
733
查看次数

序列化使用内部修饰符声明的类的List <>?

我正在尝试将XML序列化添加到C#中相当简单的类结构中.本质上,有一个根类的实例(称为AClass),它包含一些其他类的几个实例的List(称之为AnotherClass):

[XmlRoot("RootNode")]
public class AClass {
    [XmlElement("ListNode")]
    internal List otherObjects { get; set; }
}

public class AnotherClass {
    [XmlAttribute("Name")]
    internal string name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在序列化时,我希望将这两个类序列化在一起 - 也就是说,如果我序列化了AClass,它的AnotherClass列表也会被序列化(请参阅此问题).

我有这个主要工作,但问题是在序列化过程中,XmlSerializer似乎只想处理public类的属性 - 如果声明列表,它根本不会序列化AnotherClass internal.

我试着让程序集的内部对序列化程序可见:

[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.Xml")]
Run Code Online (Sandbox Code Playgroud)

这似乎没有做任何事情.有没有办法让XmlSerializer递归序列化内部声明的对象列表?

c# xml access-modifiers xml-serialization

5
推荐指数
1
解决办法
2051
查看次数