小编Sil*_*Fox的帖子

抓住粘贴输入

我正在寻找一种方法来清理我粘贴到浏览器中的输入,这可能与jQuery有关吗?

到目前为止,我已经设法做到了这一点:

$(this).live(pasteEventName, function(e) {
 // this is where i would like to sanitize my input
 return false;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,由于这个"次要"问题,我的发展已经开始戛然而止.如果有人能指出我正确的方向,我真的会让我成为一个快乐的露营者.

jquery paste sanitize

202
推荐指数
11
解决办法
24万
查看次数

使用JWT和Basic身份验证保护REST应用程序是否有意义?

我有一个Spring REST应用程序,它首先使用基本身份验证进行保护.

然后我添加了一个登录控制器,它创建了一个JWT JSON Web令牌,用于后续请求.

我可以将以下代码移出登录控制器并进入安全过滤器吗?然后我不再需要登录控制器了.

tokenAuthenticationService.addTokenToResponseHeader(responseHeaders, credentialsResource.getEmail());
Run Code Online (Sandbox Code Playgroud)

或者我可以删除基本身份验证吗?

将基本身份验证与JWT混合是一种好的设计吗?

虽然一切正常,但我在这里有点黑暗,以便最好地设计这种安全性.

spring-security basic-authentication jwt

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

在视图Mvc.net中访问路由值

即时通讯使用mvc2的默认路由{controller}/{action}/{id}.我想id在我的视图中访问该字段.如果不使用TempData和我怎么能这样做ViewData

如果我有一个网址,就像 http://server-name/home/edit/14 我需要"14"视图中的值.

asp.net asp.net-mvc

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

我可以从Socket.io访问cookie吗?

我想在cookie中设置一些用户信息,并且能够在连接时访问它,这可能吗?

node.js socket.io

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

jQuery的ajax crossDomain属性的用法?

根据jQuery:

crossDomain (default: false for same-domain requests, true for cross-domain requests)类型:Boolean如果要在同一域上强制执行crossDomain请求(例如JSONP),请将crossDomain的值设置为true.例如,这允许服务器端重定向到另一个域.(版本增加:1.5)

我不明白以上.

如果代码是

$(document).ready(function ()
{
    $.ajax(
    {
        url: 'http://es3.com/Handlers/MyHandler.ashx',
        cache: false,
        dataType: "jsonp",
        ...
        ...
    });
});

function aaa(json)
{
    alert(json.result);
}
Run Code Online (Sandbox Code Playgroud)

并且即时通讯指定datatype:jsonp,然后响应将是application/javascript mime typed,因为它是一个将在我的浏览器中运行的脚本.

当我在同一个域下运行此代码时,我没有看到为什么它不会像那样行为的任何原因.(因此 - 我没有看到这个属性的用法).

我做了一个样本

我有2个(主机调整)域名.es2.comes3.com.

(注意,代码中的url始终是es3.com)

测试#1:

es3.com以下位置运行代码:(左窗格)从以下位置
运行代码es2.com:(右窗格)
crossDomain:false(缺少时默认).

看看差异:(http://i.stack.imgur.com/RKyZp.jpg)

在此输入图像描述

测试#2:

运行以下代码es3.com:(左窗格)
运行以下代码es2.com:(右窗格)
crossDomain:true <---通知

(http://i.stack.imgur.com/xEcyd.jpg) 在此输入图像描述

我没有看到任何区别. …

javascript ajax jquery

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

了解AJAX CORS和安全注意事项

我试图理解为什么CORS正在以它的工作方式工作.

当我从了解到这个职位,当从网页www.a.com使得AJAX请求www.b.com,那么它的www.b.com是决定是否请求应该被允许.

但是在这种模型中客户端的确切安全性是什么?例如,如果黑客成功向我的页面注入XSS脚本,那么它会向其域发出一个AJAX请求来存储用户数据.因此,黑客的域名将允许这样的请求.

我认为www.a.com应决定允许请求的域名.因此理论上,在头文件Access-Control-Allow-Origin中,我想提出允许AJAX CORS请求的域的完整列表.

有人可以解释当前CORS实现处理的安全问题吗?

javascript ajax cross-domain cors

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

文档就绪表单提交和浏览器历史记录

我的页面中有以下代码,以便在DOM准备就绪时自动在页面上提交表单:

$(function () {
    $('form').submit();
});
Run Code Online (Sandbox Code Playgroud)

但是,在下一页上,如果用户点击back他们的浏览器,它将返回到此页面之前的页面,而不是打开此代码的页面(无论如何都使用Chrome/IE).即浏览器历史记录中缺少包含表单的页面.

这很棒,虽然我想知道现在所有现代浏览器都能做到这一点吗?我正在寻找一个答案,引用官方来源,如来自互联网标准文件或浏览器供应商,说明他们已实施的机制.

这似乎只有在我调用submit()DOM ready或Window load事件中的函数时才会发生.

例如,此代码将在单击页面(后退/前进)后显示浏览器历史记录中的表单页面: -

document.addEventListener('click', function () { document.forms[0].submit(); }, false);
Run Code Online (Sandbox Code Playgroud)

以下片段不会: -

document.addEventListener('DOMContentLoaded', function () { document.forms[0].submit(); }, false);
window.addEventListener('load', function() { document.forms[0].submit(); }, false);
window.onload = function () { document.forms[0].submit(); };
Run Code Online (Sandbox Code Playgroud)

html javascript forms jquery browser-history

16
推荐指数
1
解决办法
1728
查看次数

UuidCreate是否使用CSPRNG?

请注意,这不是我的应用程序,它是我正在为客户端测试的应用程序.我通常会在https://security.stackexchange.com/上提出这样的问题,但是因为这是我在这里提出的更多编程相关问题.

当然,UUID的RFC 4122没有规定必须由密码安全伪随机数发生器(CSPRNG)生成类型4 UUID.它简单地说

将所有其他位设置为随机(或伪随机)选择的值.

虽然,算法的某些实现(例如Java中的这种实现)确实使用CSPRNG.

我试图深入研究微软的实施是否成功.主要围绕.NET或MSSQL Server如何生成它们.

检查.NET源代码,我们可以看到以下代码:

 Marshal.ThrowExceptionForHR(Win32Native.CoCreateGuid(out guid), new IntPtr(-1));
 return guid;
Run Code Online (Sandbox Code Playgroud)

检查CoCreateGuiddocco,它说

CoCreateGuid函数调用RPC函数UuidCreate

我能找到关于这个功能的所有内容都在这里.我好像已经到了兔子洞的尽头.

现在,有没有人知道如何UuidCreate生成其UUID?

我见过很多相关帖子:

第一个说:

GUID不保证随机性,它保证了唯一性.如果您想要随机性,请使用Random生成字符串.

我同意这一点,除了在我的情况下随机,不可预测的数字,你当然使用CSPRNG而不是Random(例如RNGCryptoServiceProvider).

而后者的状态(实际上引自维基百科):

WinAPI GUID生成器的密码分析显示,因为V4 GUID的序列是伪随机的; 在完全了解内部状态的情况下,可以预测先前和后续的值

现在,在围栏的另一边,Will Dean说这篇文章

我最后一次研究这个问题(几年前,可能是XP SP2),我直接进入操作系统代码,看看实际发生了什么,并使用安全随机数生成器生成一个随机数.

当然,即使它当前正在使用CSPRNG,这也将是特定于实现的,并且可能随时更改(例如,对Windows的任何更新).不太可能,但理论上可行.

我的观点是,没有规范的参考,以上是为了证明我已经完成了我的研究,上述帖子都没有引用任何权威的内容.

原因是我正在尝试确定是否需要更改使用GUID进行身份验证令牌的系统.从纯粹的设计角度来看,答案肯定是肯定的,但是从实际的角度来看,如果Windows UuidCreate功能确实使用了CSPRNG,那么系统就没有直接的风险.任何人都可以对此有所了解吗?

我正在寻找有信誉的来源的任何答案来支持它.

c# c++ windows security random

16
推荐指数
1
解决办法
1187
查看次数

在外部JavaScript文件中插入动态值的安全方法

我正在使用以下策略实现内容安全策略标头

Content-Security-Policy: default-src 'self'

所以需要避免内联脚本,因为它不会执行.

但是,在MVC应用程序中,某些功能(如编辑器模板)使用内联脚本.例如tinymce_jquery_full.cshtml包含

$(function() { 

    $('#@ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)').tinymce({
...
Run Code Online (Sandbox Code Playgroud)

.js使用CSP时,在外部文件中包含动态值的好方法是什么?

我目前的想法是两种方式之一:

C#生成的JavaScript

类似于JSONP的工作方式,除了在URL中我没有指定回调 - 我只是传递动态值.在每个需要动态JavaScript的文件中,我都包含一个链接,例如

<script src="/script/Foo/bar"></script>
Run Code Online (Sandbox Code Playgroud)

哪些匹配ScriptControllerFoo返回类型的内容的动作text/javascript将所述动态值bar.这对我来说是一种可靠的方式,如果有点笨拙,它首先会破坏使用CSP的一些优点(几乎很容易意外地插入未编码的文本并导致XSS,因为它没有CSP).

隐藏的表单字段

动态值将插入页面中:

<input type="hidden" id="url" name="url" value"http:://www.example.com/" />
Run Code Online (Sandbox Code Playgroud)

并在外部JavaScript文件中查找这些值:

$('#url').val();
Run Code Online (Sandbox Code Playgroud)

这将有效,但如果页面上有多个动态控件或者有多个相同类型的控件,则可能会很麻烦.问题是如何有效地将每个.js脚本与其隐藏字段匹配.

有没有更好的解决方案,还是有任何我可以使用的现成框架?

javascript c# security asp.net-mvc content-security-policy

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

http:// a/%% 30%30如何工作?

是的http://anything/%%30%30,即使在悬停时,该链接也会崩溃我的Google Chrome浏览器.

它是如何工作的?

security crash google-chrome

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