小编Chr*_*ini的帖子

为什么人们把代码放在"抛出1; <不要是邪恶的>"和"for(;;);"之类的代码中.在json面前回应?

可能重复:
为什么Google会在(1)之前提前; 他们的JSON回复?

Google会像这样返回json:

throw 1; <dont be evil> { foo: bar}
Run Code Online (Sandbox Code Playgroud)

和Facebooks ajax有这样的json:

for(;;); {"error":0,"errorSummary": ""}
Run Code Online (Sandbox Code Playgroud)
  • 为什么他们会放置会停止执行的代码并生成无效的json?
  • 如果它无效,它们如何解析它,如果你试图评估它会崩溃?
  • 他们只是从字符串中删除它(看起来很贵)?
  • 这有什么安全优势吗?

作为对安全目的的回应:

如果刮刀位于另一个域上,则必须使用script标记来获取数据,因为XHR不会跨域工作.即使没有for(;;);攻击者如何获取数据?它没有分配给变量,所以它不会被垃圾收集,因为它没有引用它?

基本上,为了获得数据跨域,他们必须这样做

<script src="http://target.com/json.js"></script>
Run Code Online (Sandbox Code Playgroud)

但即使没有崩溃脚本,攻击者也不能使用任何Json数据而不将其分配给您可以全局访问的变量(在这些情况下不是这样).崩溃代码没有任何效果,因为即使没有它,他们也必须使用服务器端脚本来使用其站点上的数据.

javascript security ajax json

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

如何在不定义架构的情况下使用Mongoose?

在早期版本的Mongoose(对于node.js)中,有一个选项可以在不定义模式的情况下使用它

var collection = mongoose.noSchema(db, "User");
Run Code Online (Sandbox Code Playgroud)

但在当前版本中,"noSchema"功能已被删除.我的模式可能经常更改,并且实际上不适合定义的模式,所以有没有一种在mongoose中使用无模式模型的新方法?

mongoose mongodb node.js

106
推荐指数
4
解决办法
6万
查看次数

DHT如何在种子中发挥作用?

我正在编写一个p2p实现,我想分散,但是我在掌握像bittorrent这样的协议中的DHT方面遇到了一些麻烦.如果没有跟踪器,客户如何知道同行在哪里?对等体是否存储在实际的torrent文件中?

p2p protocols dht

71
推荐指数
4
解决办法
8万
查看次数

检测使用window.open打开的窗口的onload事件

 window.popup = window.open($(this).attr('href'), 'Ad', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
 $(window.popup).onload = function()
        {
                alert("Popup has loaded a page");
        };
Run Code Online (Sandbox Code Playgroud)

这在我尝试过的任何浏览器中都不起作用(IE,Firefox,Chrome).如何检测窗口中何时加载页面(如iframe onload)?

javascript firefox internet-explorer google-chrome popup

37
推荐指数
3
解决办法
12万
查看次数

将div放在新行上(由浮动<ul>元素引起的问题)

所以我有3个无序列表,如下所示:

  <ul class="menu">
<li class="heading">Title (Click To Download)</li>
<li><a title="Download sample.mp3" href="http://example.com/sample.mp3">Sample Song</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用以下css样式:

/* SITE MAP MENUS */

ul.menu {

    float: left;
    margin: 0 10px 0 10px;
    display: block;
    font-size: 13px;
    line-height: 24px;
    color: #898989;
}


ul.menu li {}

.menuText
{

}
li.heading {
    color: #493f0b;
    font-weight: bold;
    border-bottom: 1px solid #d7d7d7;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我把一个新的div:

<div class="pleasedontfloat">The paganation would go here..</div>
Run Code Online (Sandbox Code Playgroud)

它不是在列表下面,而是在它们旁边.我该如何解决这个问题?(类enjoyontfloat没有适用的规则)

html css firefox internet-explorer

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

我应该如何在MongoDB中实现这个模式?

我正在尝试编写一个跟踪脚本,但我无法弄清楚数据库应该如何工作.

在MySQL中,我创建了一个类似于的表

User:
   username_name: string

Campaign:
   title: string
   description: string
   link: string

UserCampaign:
   user_id: integer
   camp_id: integer

Click:
   os: text
   referer: text
   camp_id: integer
   user_id: integer
Run Code Online (Sandbox Code Playgroud)

我需要能够:

  • 查看每次点击的信息,如IP,Referer,OS等
  • 查看来自X IP,X Referer,X OS的经常点击次数
  • 将每次点击与用户和广告系列相关联

如果我按照自己的方式做点什么的话

User {
     Campaigns: [
         {
           Clicks: []
         }
     ]
}
Run Code Online (Sandbox Code Playgroud)

我遇到两个问题:

  • 它会为每个用户创建一个新的广告系列对象,这是一个问题,因为如果我需要更新我的广告系列,我需要更新每个用户的对象
  • 我希望Clicks数组包含大量数据,我觉得让它成为User对象的一部分会使查询速度变慢

database-design mongodb

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

为什么libc ++的shared_ptr实现使用全内存屏障而不是放松?

在boost的实现中shared_ptr,它使用宽松的内存排序来增加其引用计数.这似乎是安全的,因为减量使用获取/释放来确保在释放内存之前线程可以看到任何先前的减量.这种方法似乎是正确的,并出现在Herb Sutters 谈论原子论

在libc ++中,实现使用全内存屏障

template <class T>
inline T
increment(T& t) _NOEXCEPT
{
    return __sync_add_and_fetch(&t, 1);
}

template <class T>
inline T
decrement(T& t) _NOEXCEPT
{
    return __sync_add_and_fetch(&t, -1);
}

}  // name
Run Code Online (Sandbox Code Playgroud)

这个决定有理由吗?它们之间是否有任何性能或安全差异?

c++ boost thread-safety shared-ptr libc++

26
推荐指数
1
解决办法
1299
查看次数

C#HttpListener没有使用netsh来注册URI

我的应用程序使用一个小型Web服务器来为某些文件提供服务,并具有远程管理的Web界面.现在,用户必须使用netsh来注册URI

netsh http add urlacl url=http://+:1233/ user=Chris-PC\Chris
Run Code Online (Sandbox Code Playgroud)

这对普通用户来说并不好玩.我希望程序能够从我的程序中监听用户指定的任何端口,而不需要最终用户使用命令提示符.反正只是为了完成这个简单的使用Process.Start并自己运行命令提示符?

c# windows http httplistener netsh

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

设计线程安全类

阅读MSDN文档时,它总是让您知道类是否是线程安全的.我的问题是你如何设计一个线程安全的类?我不是在谈论用锁定调用类我意味着我正在为Microsoft创建XXX class\object而我想说它是"线程安全"我需要做什么?

c# multithreading thread-safety

15
推荐指数
2
解决办法
4166
查看次数

在C#中使用部分SQL

我需要解析部分SQL查询(它是用于SQL注入审计工具).例如

'1' AND 1=1--
Run Code Online (Sandbox Code Playgroud)

应该分解成令牌

[0] => [SQL_STRING, '1']
[1] => [SQL_AND]
[2] => [SQL_INT, 1]
[3] => [SQL_AND]
[4] => [SQL_INT, 1]
[5] => [SQL_COMMENT]
[6] => [SQL_QUERY_END]
Run Code Online (Sandbox Code Playgroud)

他们至少是基于我的SQL的词法分析器,还是C#的bison等任何好工具(尽管我不想编写我自己的语法,因为我需要支持大部分,如果不是所有MySQL 5的语法)

c# mysql sql parsing lexer

11
推荐指数
1
解决办法
5917
查看次数