小编Jus*_*tin的帖子

如何阻止子域使用域 cookie?

我有以下域的设置:

mydomain.com

www.mydomain.com

有一个问题(在 Internet Explorer 上测试):如果为 mydomain.com 设置了某个 cookie,那么即使我为 www.mydomain.com 设置了同名的 cookie,该 cookie 对 www.mydomain.com 也有效。

更具体的例子:

1) 用户在网站 mydomain.com 上选择他喜欢的语言,我设置 cookie usrlng=en

2) 第二天,其他人使用同一台计算机,导航到 www.mydomain.com 并选择他的语言,我设置了 usrlng=de。但 Internet Explorer 不断向服务器发送 cookie usrlng=en 和 usrlng=de (我在 Fiddler 中看到了这一点)!为什么它发送相同的 cookie 两次并且不使用子域值覆盖“usrlng”?

同时我看到子域的 PHPSESSID 被正确覆盖,没有两个 PHPSESSID cookie 被发送到服务器。

如何修复 usrlng cookie 并使其以与 PHPSESSID 相同的方式工作?

cookies subdomain overriding

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

Internet Explorer 7中的jQuery 1.6.4克隆问题

我正在使用jQuery v1.6.4.以下是我的问题的测试用例:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
         <script type="text/javascript" src="jquery.js"></script>
    </head>
    <body>

        <div id="container"></div>
        <div id="clone-tpl">I am a clone template</div>

        <script type="text/javascript">
              $(function(){
                var clone = $('#clone-tpl').clone();
                clone.attr('id','other'+Math.random());
                clone.text('I am a clone');
                $('#container').append(clone);
                alert($('#container').html());  
                alert($('#clone-tpl').attr('id'));

                var clone2 = $('#clone-tpl').clone();
                clone2.attr('id','other'+Math.random());
                clone2.text('I am a clone 2');
                $('#container').append(clone2);
                alert($('#container').html());  
                alert($('#clone-tpl').attr('id')); 
            });
         </script>  
        </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

在Mozilla Firefox和Internet Explorer 9中,它按预期工作:克隆clone-tpl两次,更改id并将克隆附加到容器div.容器div保持完整.警报输出日志如下:

<div id="other0.7574357943876624">I am a clone</div>
clone-tpl
<div id="other0.7574357943876624">I am a clone</div><div id="other0.1724491511655708">I am a clone 2</div>
clone-tpl
Run Code Online (Sandbox Code Playgroud)

但是在Internet Explorer …

jquery internet-explorer clone

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

带LPC编码器/解码器的DSP库

我正在尝试创建一个轻量级双音素语音合成器.一切似乎都很简单,因为我的母语有非常简单的发音和文本处理规则.我偶然发现的唯一问题是音高控制.

据我所知,为了控制语音的音调,大多数语音合成器都使用LPC(线性预测编码),它基本上将音调信息与录制的语音样本分开,然后在合成期间,我可以提供自己的音调.需要.

问题是我不是DSP专家.我使用了Ooura FFT库来提取AFR信息,我对使用Hann和Hamming窗口(我自己实现了C++代码)有一点了解,但我主要将DSP算法视为黑盒子.

我希望找到一些开源库,它只是带有使用示例的LPC代码,但我找不到任何东西.大多数可用的代码(如Festival引擎)都紧密集成在合成器中,分离它并学习如何使用它将是一项非常艰巨的任务.

有没有任何C/C++/C#/ Java开源DSP库带有"黑盒子"风格的LPC算法和用法示例,所以我可以在其上抛出PCM样本数据并获得LPC编码输出,然后抛出编码数据和合成解码的语音数据?

signal-processing speech-synthesis

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

Visual Studio ASP.NET开发服务器不断返回旧页面

我创建了一个基于ASP.NET 4的网站.起初我运行了由Visual Studio ASP.NET 4 Internet应用程序模板生成的默认站点.我刚刚点击Debug按钮,IE启动了,它连接http://localhost:1341/并加载了我网站的默认欢迎页面.一切似乎都很好,所以我开始重新设计Index.cshtml.

重新设计后,我再次启动了该网站.在浏览时,我注意到如果我单击浏览器的"后退"按钮,我将获得第一页的缓存旧版本,我必须在浏览器中点击"刷新"以获取新版本.

所以我补充道

    <meta http-equiv="PRAGMA" content="NO-CACHE">
Run Code Online (Sandbox Code Playgroud)

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        // prevent caching
        HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
        HttpContext.Current.Response.Cache.SetValidUntilExpires(false);
        HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
        HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
        HttpContext.Current.Response.Cache.SetNoStore();
    }
Run Code Online (Sandbox Code Playgroud)

到我的网站.

然后我使用IE选项清除了IE缓存.我还清理了我的Local\Temp文件夹.

但是当我在浏览器中按"返回"按钮时,我仍然在IE开发人员工具"网络"选项卡中获得了结果304.

获得新重新设计的页面的唯一方法是使用Cache->始终从服务器刷新.我可以这样做是为了开发目的,但它只是搞砸了我的想法 - 当我回击时它总是从哪里得到那个非常旧的页面?

在调试时,在Visual Studio中,解决方案资源管理器中出现一个新的树项.这个新项目称为脚本文档.在它下面,有一个Windows Internet Explorer项目,其中包含localhost项目......当我打开它时 - 是的,这是当我按下Back按钮时进入IE的旧页面!Visual Studio(或ASP.NET Dev服务器)在哪里存储"localhost"页面?

如何摆脱卡住的页面并停止IE(或者也许是ASP.Dev服务器)缓存我的localhost /首页?如何删除旧页面?

我希望,新页面不会以同样的方式缓存,因为我添加了它...

debugging asp.net-mvc asp.net-development-serv disable-caching visual-studio

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

Windows Phone 8.1"按设计"是否破坏了WebBrowser视口高度?

实际上,这个问题是在开发Cordova应用程序时发现的,这就是为什么我无法切换到新的WebView但必须继续使用Cordova的扩展WebBrowser.但是我创建了一个没有Corodova的简单测试来验证问题是WebBrowser本身而不是Cordova.

我的测试页面有以下代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Mobile sandbox</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, height=device-height, user-scalable=no">
        <script type="text/javascript" src="libs/jquery/jquery.min.js"></script>
    </head>
    <body>
        <style>
            @-ms-viewport{width:device-width; height:device-height;} /* we need this because according to this article http://trentwalton.com/2013/01/16/windows-phone-8-viewport-fix/  meta viewport does not work across WP devices but -ms-viewport works */

            html, body {
                margin: 0;
                padding: 0;
                overflow: hidden; /* crop away everything, don't show scrollbars */
            }

            #allContainer {
                top: 0px;
                left: 0px;
                right: 0px;
                bottom: 0px;
                background-color: green;
                position: absolute; /* to make …
Run Code Online (Sandbox Code Playgroud)

viewport webbrowser-control windows-phone-8

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

什么可能导致`git pull`看不到远程变化?

在什么情况下git pull origin master命令可能导致与git checkout master- > git pull- > git checkout feat-a- > 不同的工作副本状态git merge master

长话故事.

我有一个功能分支,我们可以调用它feat-a.我是这个分支机构的唯一开发人员.分支是从master分支创建的.两个分支都有远程起源,origin/feat-a并且origin/master.没什么特别的,你典型的git存储库安排.

今天我想从远程更新我的功能分支master.从早期与其他开发人员的沟通,我知道当我将远程合并master到我的功能分支时会有相互矛盾的变化.

我正在使用SourceTree.因此,在feat-a检出分支的情况下,我在origin/master分支上打开了上下文菜单并选中了Pull origin/master into current branch.我很震惊地看到Git报告我的分支已经是最新的.我知道这不对,远程master分支必须有变化.我重复了几次这个命令.始终获得相同的最新消息.

为了100%肯定,我做到了"漫长的道路".我检查了master分支,点击了Pull按钮.该分支更新了最新的提交.然后我检查了feat-a分支,然后在主分支上拉了上下文菜单并选中了Merge master into current branch.瞧!这是我期望得到的合并冲突!

这让我感到困惑.我曾经假设pullorigin/master我的当前分支执行是与检出master,拉出,检出另一个分支然后合并master到当前分支相同(除了从远程拉到master另一个分支不会更新我的本地master,但那不应该不会影响这个问题).

从本质上讲,由于某种原因,pull命令从 …

git merge pull atlassian-sourcetree

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

实际在Android和iOS中央/外围设备上协商Bluetooth LE ATT MTU

在Android上,我们有requestMtuand onMtuChanged,这似乎意味着如果中央设备和外围设备都基于Android,则必须手动协商MTU大小(但我可能是错的,并且可能在连接时也会自动发生,而无需我干预)。requestMtu仅讨论写请求(无响应写)操作的文档,没有提及通知,还说该文档用于“连接”,但没有提及它来自中央还是外围。 因此,目前尚不清楚,可以/应该使用连接的哪一侧requestMtu以及它如何影响通知大小和写入大小?

在iOS上,似乎没有直接替代品,requestMtu而我们只有central.maximumUpdateValueLength(自iOS 7,起)。它的文档(与Android相反)说它maximumUpdateValueLength仅用于通知更新,这意味着它仅在外围设备方面有用,因为您是从外围设备向中央发送通知。 但是写呢?如果我正在写(再次无响应)从中央到外围设备的特性,我如何知道我的批处理大小以确保有效写入?

考虑到混合系统(Android / iOS中央/外围设备),这一切都令人困惑,并且不清楚在哪方面以及何时/应该/应该请求/响应MTU大小协商。是否有描述ATT MTU交换选项的文档,它们对应于实际的Android和iOS实现?

android bluetooth mtu ios bluetooth-lowenergy

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

强制转换通用类型以构建有效的Linq表达式

我陷入尝试泛型转换或构建可以转换为所需泛型类型的LINQ表达式的尝试T

这是失败的示例:

public override void PreprocessFilters<T>(ISpecification<T> specification)
{
    if (typeof(ICompanyLimitedEntity).IsAssignableFrom(typeof(T)))
    {
        var companyId = 101; // not relevant, retrieving company ID here

        // and now I need to call the method AddCriteria on the specification
        // as it were ISpecification<ICompanyLimitedEntity>
        // which it should be because at this point I know 
        // that T is ICompanyLimitedEntity
        var cle = specification as ISpecification<ICompanyLimitedEntity>;
        //                      ^-- but of course this conversion won't work, cle is null

        // what should I …
Run Code Online (Sandbox Code Playgroud)

c# linq generics casting

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

如何替换以前选择的文件?

我正在通过 ngx-dropzone-wrapper 将 Dropzone 与 Angular 结合使用。

我没有直接从 Dropzone 使用上传,我只是让它收集文件,然后在我的代码中处理它们。

我需要将文件数限制为 1。所以我设置了config.maxFiles = 1. 事实上,现在文件打开对话框只允许选择单个文件。但问题是 Dropzone 不会替换以前的文件!相反,它使用accepted=false(很可能,因为达到了maxFiles)标志将新文件添加到其文件集合中。那不是我所期望的。我需要config.maxFiles = 1删除旧文件并添加新文件并接受它。

所以,我应该打电话removeAllFiles(true)来支持我的要求。但是我找不到任何在用户选择文件之后和 Dropzone 尝试处理它之前触发的事件处理程序。

那么,我如何实现以下要求:

  • 用户一次只能选择一个文件
  • 如果用户犯了错误并想选择另一个文件,则新文件应替换先前选择的文件

?

file-upload dropzone.js angular

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

DPAPI如何保护系统账户的MasterKey?

在阅读Microsoft 关于 DPAPI 的文档时,我发现了以下文本:

DPAPI专注于为用户提供数据保护。由于 DPAPI 需要密码来提供保护,因此 DPAPI 的逻辑步骤是使用用户的登录密码,在某种程度上,它确实这样做了。DPAPI 实际上使用用户的登录凭据。在用户使用密码登录的典型系统中,登录凭据只是用户密码的哈希值。

这让我开始思考 - 那些不需要密码的帐户又如何呢?

我指的是Windows和IIS安装的默认帐户,例如NETWORK SERVICE、LOCAL SERVICE、LOCAL SYSTEM、ASPNET。

如果我在这些帐户之一下运行的 Web 应用程序中使用 DPAPI,则 DPAPI MasterKey 将使用什么凭据?

windows security dpapi

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