我有以下接口,使用回调返回类型T的泛型参数...
public interface IDoWork<T>
{
T DoWork();
}
Run Code Online (Sandbox Code Playgroud)
但是我也有以下接口,但它不会调用回调,因为它返回void.
public interface IDoWork
{
void DoWork();
}
Run Code Online (Sandbox Code Playgroud)
我可以组合这两个接口并使用运行时逻辑来确定差异吗?我怎样才能做到这一点?
该System.Threading.Interlocked对象允许加法(减法)和比较作为原子操作.似乎只是不做相等的CompareExchange以及作为原子比较的GreaterThan/LessThan将是非常有价值的.
Interlocked.GreaterThanIL 的假设特征还是CPU级功能?都?
缺少任何其他选项,是否可以用C++或直接IL代码创建这样的功能并将该功能公开给C#?
关于这个Haacked博客,我对于实施提议的反JSON GET劫持解决方案犹豫不决
减轻JSON劫持的推荐解决方案涉及到GET数据的非REST完整JSON POST
备用解决方案(对象包装)导致第三方控件出现问题,我没有源代码访问权限.
我找不到一个社区审查的实现,它实现了如何组成安全令牌或在网页中安全地传递安全令牌的替代解决方案(如下所列).我也不会声称只有专家来推动我自己的实施.
不能依赖推荐人标题
背景
此博客描述了有关JSON劫持的CSRF问题,并建议使用JSON POST来获取数据.由于使用HTTP POST来获取GET数据并不是非常REST,我会寻找一个更多的RESTfull解决方案,它可以在每个会话或每页上启用REST操作.
另一种缓解技术是将JSON数据包装在对象中,如此处所述.我担心这可能会延迟这个问题,直到找到另一种技术.
替代实施
对我来说,使用jQuery HTTP GET为我的JSON 扩展使用ASP.NET MVC的AntiForgeryToken似乎很自然.
例如,如果我获取一些敏感数据,根据上面的Haacked链接,以下代码容易受到攻击:
$.getJSON('[url]', { [parameters] }, function(json) {
// callback function code
});
Run Code Online (Sandbox Code Playgroud)
我同意使用推荐的POST解决方法来获取数据不是RESTfull.我的想法是在URL中发送验证令牌.这样,CSRF式攻击者就不会知道完整的URL.缓存或不缓存,他们将无法获取数据.
下面是两个如何完成JSON GET查询的示例.我不确定哪种实现最有效,但可能猜测第一种实现更安全,因为错误的代理缓存了这些数据,因此容易受到攻击者的攻击.
HTTP://本地主机:54607 /首页/ AdminBalances/ENCODEDTOKEN-TOKEN-HERE
要么
HTTP://本地主机:54607 /首页/ AdminBalances ENCODEDTOKEN-TOKEN-这里?
...也许是MVC3的AntiForgeryToken,或者是变种(见swt).此标记将设置为上面选择的任何URL格式的内联值.
示例问题阻止我推出自己的解决方案
什么URL格式(上图),你会用它来验证JSON GET(斜杠,问号等)将代理来响应通过http://本地主机:54607 /首页/ AdminBalances与HTTP://本地主机:54607 /首页/ AdminBalances? ENCODEDTOKEN-TOKEN-HERE数据?
您如何将该编码令牌传递到网页?内联,还是作为页面变量?
你会如何撰写令牌?内置AntiforgeryToken还是通过其他方式?
AntiForgeryToken使用cookie.在这种情况下是否会使用/需要支持cookie?仅HTTP?SSL只与HTTP配合使用?
您将如何设置缓存标头?Google Web Accelerator的任何特殊功能(例如)
只是使JSON请求SSL有什么含义?
为了安全起见,返回的JSON数组是否仍然包装在对象中?
该解决方案将如何与Microsoft提出的模板和数据绑定功能互操作
上面提出的问题是我自己没有提前做这件事的原因.更不用说可能还有更多我没有想到的问题,但却存在风险.
我知道连接到远程运行空间的唯一方法包括以下参数
WSManConnectionInfo connectionInfo =
new WSManConnectionInfo(false, "localhost", 80, "/Powershell", "http://schemas.microsoft.com/powershell/Microsoft.Exchange", credential);
Run Code Online (Sandbox Code Playgroud)
要么
WSManConnectionInfo connectionInfo =
new WSManConnectionInfo(false, "localhost", 5985, "/wsman", "http://schemas.microsoft.com/powershell/Microsoft.Powershell", credential);
Run Code Online (Sandbox Code Playgroud)
如何设置我自己的自定义Powershell对象,以便通过HTTP公开它?
使用的正确参数是什么以及如何设置它们?
当我约束T:对象像这样:
public interface IDoWork<T> where T : Object
{
T DoWork();
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
约束不能是特殊类'对象'
这是否意味着与编译的以下内容存在隐含的差异?
public interface IDoWork<T> // where T : Object
{
T DoWork();
}
Run Code Online (Sandbox Code Playgroud) 我想使用Face Unlock作为我的应用程序的第二个因素,因为我的大多数用户都不会使用密码锁定他们的手机.
是否有Android API可以在Android应用中集成Face Unlock?
有用于照片识别的人脸检测API,但我找不到可用于离线场景的API,特别是在应用程序中的其他因素.
如果你需要一个真实世界的例子,假设这是一个密码管理器,或者电话将被借给孩子......并且所有者永远不会锁定电话.面部解锁将确保他们需要私密的东西.
security android face-recognition password-protection android-support-library
题
如何在iPhone上自动化引导访问模式?我需要自动启用和删除此功能
背景 来自爱荷华州的这个应用程序使用iOS应用程序来显示您的驾驶执照.问题是,将手机交给当局后,他们可以完全访问该设备.
如果我有这个或类似的应用程序的源代码,如何在切换出临时"Kiosk模式"时需要密码,以便手机或(理想情况下)无法提供照片,电子邮件或短信来自USB.
我找到了类似Android的解决方案,但现在正在寻找iOS解决方案
众所周知,谷歌广告不支持 HTTPS,但由于我将用户的会话存储在不记名令牌/ cookie中,我觉得需要加密这些信息......至少我可以保护我的最终用户免遭黑客攻击.
我有什么选择?我确定有人之前遇到过这种情况.可能有效的想法包括
我有一个对象,我想在创建后才能读取...因为构造函数中的属性必须在GetHashCode中使用,因此一旦创建就不能更改.
我是readonly的许多类之一:
public class AccountLabel
{
private string result;
public AccountLabel(string result)
{
// TODO: Complete member initialization
this.result = result;
}
public string JSONRPCData { get { return this.result; } }
}
Run Code Online (Sandbox Code Playgroud)
我有这样的通用结果类
public class JsonResult<T> where T : JObject, new()
{
private T bhash;
private string p;
private JsonErrorResponse error;
private int _id;
private Newtonsoft.Json.Linq.JObject ret;
public JsonResult(Newtonsoft.Json.Linq.JObject ret)
{
this.ret = ret;
var tempError = ret["error"];
var tempid = ret["id"];
JsonErrorResponse error = new JsonErrorResponse(tempError);
this.error = …Run Code Online (Sandbox Code Playgroud) Google拥有此Google Cloud Messaging信息,可与iOS集成
为同一目的使用Google Cloud Messaging或iOS有什么区别?
一个比另一个更有效吗?电池或网络负载是否不同?
android push-notification apple-push-notifications ios google-cloud-messaging