问题列表 - 第21403页

将CSRF保护与RESTful API相结合的有哪些可行技术?

我很想知道人们在为他们的Web应用程序构建RESTful(或准RESTful)API时采取了哪些方法.

一个实际的例子:

假设您有一个基于浏览器的传统Web应用程序,它在所有表单上都使用CSRF保护.浏览器中显示的每种形式都包含一个带有CSRF保护令牌的隐藏输入.提交表单后,如果此输入与令牌的服务器端版本不匹配,则表单被视为无效.

现在假设您希望将Web应用程序公开为API(可能使用JSON而不是HTML).传统上,在发布API时,我认为事务是单方面的(意味着API使用者基于发布的API构建请求,而不是首先请求表单,然后使用返回的表单构建请求).

当像CSRF保护因素这样的事情时,"单边"方法就会崩溃.需要将CSRF保护令牌包含在API消费者发送的任何POSTS/PUTS/DELETES中.

我一直在努力思考如何最好地解决这个问题.每次需要进行API调用时请求一个表单看起来很尴尬(特别是在处理异步操作时),但我自己想到的所有其他替代方案似乎都破坏了CSRF保护(或至少打破了它的漏洞) ),这是不可接受的.

你们中有谁对此有所了解吗?

谢谢.

(并不是说它应该太重要,因为问题是概念和平台不可知的,但我正在处理传统的LAMP堆栈并使用Symfony 1.4作为我的应用程序框架.我的目标是发布一个JSON格式的Web API,允许开发人员使移动/桌面应用程序与现有的Web应用程序相得益彰.)

security rest web-services csrf

27
推荐指数
1
解决办法
3098
查看次数

屏蔽CALayer - iPhone

我正在为iPhone创建一个自定义开/关切换开​​关(类似于标准开关),我正处于设置滑块蒙版[[myView layer] setMask:maskLayer]的位置,但调用设置了蒙版图层的相对位置.它掩蔽的层,而不是相对于掩模层的容器层.对于此特定情况,需要相对于其包含图层设置遮罩层的位置,因为切换滑块将在遮罩下方移动并且遮罩应保持静止.

无需为蒙版和切换滑块组件设置动画以实现所需效果,任何人都知道如何使其工作?这是我到目前为止所得到的:

CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGMutablePathRef path = CGPathCreateMutable();

CGPathAddEllipseInRect(path, nil, CGRectMake(0, 0, 13, 13));
CGPathAddEllipseInRect(path, nil, CGRectMake(30, 0, 13, 13));
CGPathAddRect(path, nil, CGRectMake(6, 0, 32, 13));

[maskLayer setPath:path];
[maskLayer setFillColor:[[UIColor greenColor] CGColor]];

[[self layer] addSublayer:maskLayer];

[maskLayer setPosition:CGPointMake(2, 2)];

[self addSubview:toggleView];

[[toggleView layer] setMask:maskLayer];
Run Code Online (Sandbox Code Playgroud)

iphone animation mask calayer

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

Django中的RESTful多步/多页表单(想法/示例)

有哪些RESTful方法可以在Django中的多页表单页面之间进行转换?

我目前的方法:

  1. 将POST发布到同一页面
  2. 表单视图在会话中验证和存储POST数据
  3. 成功验证后,表单视图会重定向到下一个表单页面.
  4. 下一个表单检查以前的数据是否存在 如果没有,重定向到第一个表单.

表单页面之间的重定向是不是很糟糕?表格应该POST到下一个表单页面吗?如果是这样,表单验证应该在哪里发生?

django rest django-forms

6
推荐指数
1
解决办法
1949
查看次数

以渐进格式保存JPG

<Extension()> _
Public Sub Save(ByVal b As Bitmap, ByVal FileName As String, ByVal Compression As Long, ByVal MimeType As String)
    Dim Params As EncoderParameters = New EncoderParameters(2)
    Dim CodecInfo As ImageCodecInfo = GetEncoderInfo(MimeType)

    Params.Param(0) = New EncoderParameter(Encoder.RenderMethod, EncoderValue.RenderProgressive)
    Params.Param(1) = New EncoderParameter(Encoder.Quality, Compression)

    b.Save(FileName, CodecInfo, Params)
End Sub
Run Code Online (Sandbox Code Playgroud)

这不起作用.它没有被保存为渐进式.我怎么能这样做,也可以指定nr的通行证.

.net html compression jpeg image

7
推荐指数
1
解决办法
8948
查看次数

加载页面并在其上执行JS ...来自JS bookmarklet?

基本上我正在努力

  1. 导航到网页
  2. 等待该网页加载
  3. 在该页面上执行JS函数/警报/任何内容

所有这些都来自一个小书签.这可能吗?我似乎无法为我工作,但这可能是因为我自己的个人失败.

javascript bookmarklet

14
推荐指数
2
解决办法
5167
查看次数

标题/内容/页脚布局,可滚动内容和页脚固定到视口底部

这个问题有很多准重复,我知道:网页模板,如果1行减去页脚是1,则内容占视口的全高,但这不是我想要的; 这是一个热闹的问题:如何创建一个带有页眉,页脚和内容的HTML CSS页面,主要描述我想要的东西,我想,但不幸的是它有点不连贯,并没有真正的答案.我找到了许多帮助做我可能想到的事情,我不想要的事情:

  • 固定页眉,页脚固定在底部以获取较短内容,但在内容较长时将页面向下推(如此重复设置:http://boagworld.com/technology/fixed-footers-without-javascript)
  • 修复了页眉,内容和页脚,其中页脚未固定到视口底部
  • 固定页眉和页脚,内容在页眉和页脚"后面"滚动 - 这个很可爱,我已经使用过了,但这不是我现在想要的

我知道如果我使用"破损"或"边框"框模型,我会得到我想要的东西:

  1. 在页面上水平放置100%高度的容器,使用"position:relative"处理内容更容易一些
  2. 在容器中,放置三个绝对定位的div:头部,卡在顶部(固定高度); 页脚,粘在底部(也固定高度); 和内容,高度为100%顶部和底部有填充,以说明页眉和页脚.

在"破碎"框模型中,给予内容框100%高度的效果很好,因为高度包括顶部和底部填充.这甚至在IE6怪癖模式下运行良好,对于Firefox我刚刚使用了"-moz-box-sizing:border-box;" 让它以同样的方式工作.

但在这里,我们生活在未来,与月亮殖民地和冷冻早餐比萨饼,所以我尽量不回忆太多关于"边境盒"的日子.对于我来说,"获得"这种布局技术最困难的是如何进行滚动内容.我能想到的唯一方法是上面的一个hackish变种:

  1. 再次,从100%高度的容器开始,"位置:相对"
  2. 同样,绝对定位的页眉和页脚,具有固定的高度.
  3. 对于内容,我绝对放入没有特定高度的div,但根据页眉和页脚高度设置"顶部"和"底部".

这种技术在IE6中无法真正起作用; 好吧,事实上它根本不起作用,因为IE6并没有从设置"顶部"和"底部"的含义中获得高度.我可以在IE支持的CSS中使用那些"活跃"的东西,用Javascript有效地计算高度,但我认为这非常恶心.

我在网上经历过很多关于非常相似的布局问题的描述,但是我还没有找到关键的东西是让中间内容框滚动的好方法.我有一种感觉,可能会使用带有上边距和下边距设置的内容框来说明页眉和页脚,但我不知道如何约束它的高度,以便滚动条可以启动正确的点(当实际内容溢出页眉底部和页脚顶部之间的空间时).

想法?链接到模板的宝库?(顺便说一下,马修詹姆斯泰勒的领域似乎已经消失了,给部队带来了很大的干扰.)我几乎没有想法.

更新以下是我想要的示例:http://gutfullofbeer.net/dreamlayout.html

该示例页面应该可以在Firefox和Chrome中运行,我认为Safari,它在IE8中运行一半(只有一半因为我们当然不能指望微软让"-ms-border-box"正常工作).

此外,我正在添加"javascript"标签,以防一些天才可以给我一个不太反感的IE黑客.

另一个更新这里是"妥协"布局,其中中心内容在页眉和页脚的"下方"滚动,滚动条由外部容器提供.它实际上看起来很可爱,取决于你的口味,它在IE6中工作,我想在其他地方(虽然我没有尝试过Opera).当然要忽略颜色; 他们只是作为诊断辅助工具.

http://gutfullofbeer.net/compromiselayout.html

html javascript css

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

您使用什么cscope参考卡?

什么是cscope快捷方式/使用的标准/最佳参考卡,我可以打印以便快速参考?

c cscope

6
推荐指数
1
解决办法
764
查看次数

从ASP .Net应用程序上传大文件

我正在建立一个网站,我需要一个用户可以上传大型视频文件的页面,我已经创建了带有流媒体的WCF服务,但我从网页的Button_Click事件中调用了WCF服务.

我已经使用下面提到的文章来创建WCF服务

WCF流媒体

我已经使用了流,因为它应该是高效的,不应该缓存在服务器的内存中.

现在问题

1)我怀疑整个文件是否上传到Web服务器然后它被转移到WCF服务服务器...如果这是真的那么我没有利用流媒体以及iis和web服务器将关闭很快,如果用户上传大文件或多个用户正在上传文件

2)是否有其他有效的方法与其他技术进行相同的操作

请帮我 ...

编辑:

如果我没有在ASP .Net代码中调用WCF服务方法,那么它也会将字节传输到我用HTTPFox检查过的Web服务器

我已经通过上传控件检查了上面的内容,并在UI上放了一个按钮,其click事件绑定到后面的代码中的一个方法.

所以,我仍然对数据的传输方式感到困惑

  1. 客户端计算机 - Web服务器(ASP .Net应用程序) - 服务服务器(WCF服务)
  2. 客户端计算机 - 服务服务器(WCF服务)

注意:如果我在button_click上放置一个调试点并上传10 kb文件,它会在不到1秒的时间内完成.但如果我上传50 MB的文件,那么它需要时间.

我在该button_click事件中放置了调用WCF服务的代码

asp.net wcf file-upload

8
推荐指数
1
解决办法
3011
查看次数

指针,NSMutableArray,保留,循环和混乱

可能问题是直截了当但我不理解它.

我有以下iPhone代码

for(int x = 0 ; x < [allFriends count] ; x++)   
{
    Friend *f = [[Friend alloc] init];          
    f = [allFriends objectAtIndex:x];

    if([uid isEqualToString:[f uid]])
    {                                           
        [f AddAlbum:album];
        [allFriends replaceObjectAtIndex:x withObject:f];
     }                              
}
Run Code Online (Sandbox Code Playgroud)

无论我在哪里调用[f release]该应用程序总是崩溃.为什么?(BTW循环运行几千次)

有更有效的方法吗?

我想我提供了足够的代码,如果没有,请告诉我!

谢谢你的帮助!

arrays iphone pointers objective-c

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

在sql查询中动态设置db

我尝试在mysql中的几个dbs中运行相同的查询:

def m='xxx'
def dbs =  ['DB05DEC05','DB06DEC06','DB07DEC07','DB08DEC08','DB09DEC09','DB10DEC10']
def sql =Sql.newInstance("jdbc:mysql://localhost:3306", "root","", "org.gjt.mm.mysql.Driver")
dbs.each{
 db-> sql.eachRow("select * from ${db}.mail where mid=$m", { println "\t$db ${it.mid}"} );
}
Run Code Online (Sandbox Code Playgroud)

这给出了一个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''DBJAN05DEC05'.mail where mid='xxx'
Run Code Online (Sandbox Code Playgroud)

Groovy显然用引号做了一些自定义的东西,并要求你不要在sql中使用引号(注意mid = $ m,如果你使用mid ='$ m'它警告你不要使用引号).问题是,在第一个$我根本不知道需要报价,报价是问题...

在vista上的groovy 1.7.谢谢

编辑:我发现了一个类似的问题,但它没有一个公认的答案...... Groovy GString问题

sql groovy

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