小编Kir*_*lev的帖子

在chrome中加载本地javascript文件进行测试?

我正在尝试使用Chrome浏览器在我的本地测试一些javascript,但Chrome不会加载本地资源.有一个简单的解决方法吗?

javascript browser

47
推荐指数
7
解决办法
12万
查看次数

如何在不提交存储的情况下安装Windows 8应用程序

对于客户,我需要提供我们的Windows 8 Metro应用程序.当我部署我的解决方案或项目时,我得到一个exe但我无法安装它.我得到一个MessageError,我只能在app容器中启动exe.

如何创建我的应用程序版本以将其提供给我的客户而无需将其加载到Microsoft Store?

windows-8 windows-runtime winrt-xaml

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

哪里使用std :: variant而不是union?

请解释之间有什么区别unionstd::variant为什么 std::variant引入标准?我们应该在什么情况下使用std::variant旧学校union

c++ c++17

44
推荐指数
1
解决办法
8125
查看次数

使用任务并行库时如何处理所有未处理的异常?

我在.NET 4.0中使用TPL(任务并行库).我想通过使用Thread.GetDomain().UnhandledException事件集中处理所有未处理异常的处理逻辑.但是,在我的应用程序中,从未使用TPL代码启动的线程触发事件,例如Task.Factory.StartNew(...).如果我使用类似的东西,事件确实会被解雇new Thread(threadStart).Start().

这篇MSDN文章建议使用Task.Wait()来捕获AggregateException使用TPL的时间,但这不是我想要的,因为这种机制不够"集中".

有没有人遇到过同样的问题,还是仅仅是我?你对此有什么解决方案吗?

.net multithreading .net-4.0 task-parallel-library unobserved-exception

42
推荐指数
3
解决办法
2万
查看次数

为什么跨域Ajax是一个安全问题?

为什么决定使用XMLHTTPRequest进行XML调用不应该跨域边界调用?您可以检索JavaScript,图片,CSS,iframe以及我能从其他域中想到的任何其他内容.为什么不允许Ajax HTTP请求跨越域边界?考虑到我可以看到它被滥用的唯一方式,这似乎是一个奇怪的限制,如果有人将Javascript注入页面.但是,在这种情况下,您只需向文档中添加img,script或iframe元素,即可让它请求第三方URL并将其发送到服务器.

[编辑]

一些答案指出了以下原因,让我们指出他们没有创造禁止这一点的主要原因的原因.

XSRF(跨站点请求伪造,也称为CSRF,XSRF)

你可以在不使用它的情况下进行XSRF攻击.作为一般规则,XMLHTTPRequest根本不被使用,仅仅是因为以与所有主流浏览器兼容的方式制作XMLHTTPRequest非常困难.如果您希望它们加载您的URL,则可以更轻松地向网址添加img标记.

发布到第三方网站

<script type="text/javascript">
  $.post("http://some-bank.com/transfer-money.php", 
         { amount: "10000", to_account: "xxxx" })
</script>
Run Code Online (Sandbox Code Playgroud)

可以完成

<body onload="document.getElementById('InvisbleForm').submit()"
    <div style="display:none">
        <form id="InvisbleForm" action="http://some-bank.com/transfer-money.php" method="POST">
            <input type="hidden" name="amount" value="10000">
            <input type="hidden" name="to_account" value="xxxxx">
        </form>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

JPunyon:为什么要将漏洞留在新功能中

你不会再造成任何不安全感.您只是想要以良好的方式使用它的开发人员感到不安.任何想要将此功能用于邪恶(也称为真棒)的人都可以使用其他方法来实现它.

结论

我将bobince的答案标记为正确,因为他指出了关键问题.因为XMLHTTPRequest允许您使用凭据(cookie)发布到目标站点,并读取从站点发回的数据,以及发送人员凭据,您可以编排一些提交一系列表单的JavaScript,包括确认表单,完成生成的任何随机密钥,以防止XSRF.通过这种方式,您可以浏览目标网站,如银行,银行的网络服务器将无法确定是否只是提交所有这些表单的普通用户.

security xss ajax

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

为什么重载运算符不能被定义为类的静态成员?

C++语法允许在struct/class中定义重载运算符,如:

struct X
{
   void operator+(X);
}
Run Code Online (Sandbox Code Playgroud)

或者在struct/class之外,如:

void operator+(X, X);
Run Code Online (Sandbox Code Playgroud)

但不是

struct X
{
   static void operator+(X, X);
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道这个决定的理由?为什么不允许第三种形式?(MSVC给出语法错误).也许这背后有一些故事?

ps同时存在第一个和第二个定义会产生歧义:

1>CppTest1.cxx
1>c:\ballerup\misc\cf_html\cpptest1.cxx(39) : error C2593: 'operator +' is ambiguous
1>        c:\ballerup\misc\cf_html\cpptest1.cxx(13): could be 'void B1::operator +(B1 &)'
1>        c:\ballerup\misc\cf_html\cpptest1.cxx(16): or       'void operator +(B1 &,B1 &)'
1>        while trying to match the argument list '(B1, B1)'
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这种模糊性比1,3或2,3更好.

c++ static-methods operator-overloading

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

如何判断给定路径是目录还是文件?(C/C++)

我正在使用C,有时我必须处理类似的路径

  • C:\无论
  • C:\无论\
  • C:\无论\ Somefile

有没有办法检查给定路径是目录还是给定路径是文件?

c c++ winapi

39
推荐指数
4
解决办法
7万
查看次数

多个等待单个方法

我有这样的方法:

public static async Task SaveAllAsync()
{
    foreach (var kvp in configurationFileMap)
    {
        using (XmlWriter xmlWriter = XmlWriter.Create(kvp.Value, XML_WRITER_SETTINGS))
        {
            FieldInfo[] allPublicFields = 
                           kvp.Key.GetFields(BindingFlags.Public | BindingFlags.Static);
            await xmlWriter.WriteStartDocumentAsync();
            foreach (FieldInfo fi in allPublicFields)
            {
                await xmlWriter.WriteStartElementAsync("some", "text", "here");
            }
            await xmlWriter.WriteEndDocumentAsync();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我正在努力追随当有人打电话时会发生什么SaveAllAsync().

我认为会发生的是:

  1. 当有人第一次调用它时,SaveAllAsync()会将控制权返回给该行的调用者await xmlWriter.WriteStartDocumentAsync();
  2. 然后......当他们等待SaveAllAsync()(或等待任务)时......会发生什么?将SaveAllAsync()仍然是第一的await坚持到它被调用?因为没有涉及线程,我猜是这样的......

c# asynchronous async-await

39
推荐指数
2
解决办法
3万
查看次数

在C/C++中使用%(模数)有什么替代方法吗?

我曾经读到过某些地方模数运算符在小型嵌入式设备(例如没有整数除法指令的8位微控制器)上效率低下.也许有人可以证实这一点,但我认为差异比整数除法运算慢5-10倍.

除了保持计数器变量并在mod点手动溢出到0之外,还有另一种方法吗?

const int FIZZ = 6;
for(int x = 0; x < MAXCOUNT; x++)
{
    if(!(x % FIZZ)) print("Fizz\n"); // slow on some systems
}
Run Code Online (Sandbox Code Playgroud)

VS:

我目前正在这样做的方式:

const int FIZZ = 6;
int fizzcount = 1;
for(int x = 1; x < MAXCOUNT; x++)
{
    if(fizzcount >= FIZZ) 
    {
        print("Fizz\n");
        fizzcount = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

c c++ embedded modulo

33
推荐指数
3
解决办法
5万
查看次数

如何等待异步委托

在其中一个MVA视频中,我看到了下一个结构:

static void Main(string[] args)
{
    Action testAction = async () =>
    {
        Console.WriteLine("In");
        await Task.Delay(100);
        Console.WriteLine("After first delay");
        await Task.Delay(100);
        Console.WriteLine("After second delay");
    };

    testAction.Invoke();
}
Run Code Online (Sandbox Code Playgroud)

执行结果将是:

In
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

它是完美的编译,但现在我没有看到任何方式等待它.我可能会在调用之后Thread.SleepConsole.ReadKey之后,但这不是我想要的.

那么应该如何修改这个代表以使其变得等待?(或者至少我如何跟踪该执行是否完成?)

这些代表有实际用途吗?

.net c# asynchronous async-await

31
推荐指数
2
解决办法
4万
查看次数