问题列表 - 第48220页

制作安全的登录cookie

我最近阅读了Jeff 关于XSS一篇文章,它让我思考如何更好地保护我家庭认证系统中的登录cookie.

基本上我现在做的就是这个(注意,一切都是可配置的,目前设置为true):

     protected static string ComputeLoginHash(string passwordhash){
        StringBuilder sb=new StringBuilder();
        sb.Append(passwordhash);
        if(CookieUseIP){
            sb.Append(HttpContext.Current.Request.UserHostAddress);
        }
        if(CookieUseBase){
            sb.Append(HttpContext.Current.Request.MapPath("/"));
        }
        if(CookieUseBrowserInfo){
            sb.Append(HttpContext.Current.Request.UserAgent);
        }
        sb.Append(SiteName);
        return ComputeHash(sb.ToString());
    }
Run Code Online (Sandbox Code Playgroud)

(请注意,passwordhash由密码,唯一salt和用户名组成).

好的,所以我做的一个可疑的事情是使用UserAgent字符串.这样做有害吗?或者是在正常操作下更改其UserAgent字符串的浏览器(如同,没有更新)?我的目标基本上是针对攻击者是否获得登录cookie,因为他们无法对其进行任何操作.这有助于实现我的目标,还是对用户来说过于繁琐?目前,我在cookie纯文本中存储的唯一信息是用户名.

asp.net security authentication cookies

3
推荐指数
1
解决办法
1414
查看次数

ASCII压缩器适用于短测试文件,而不是长时间

系统编程中的当前项目是提出一个ASCII压缩器,它删除顶部的零位并将内容写入文件.

为了便于解压缩,将原始文件大小写入文件,然后压缩char字节.有两个文件可以运行测试 - 一个是63字节长,另一个是5344213字节.我的代码在第一个测试文件中按预期工作,因为它写入56个字节的压缩文本和4个字节的文件头.

但是,当我在长测试文件上尝试它时,压缩版本比原始版本短3个字节,当它应该大约749KiB,或原始大小的14%.我已经计算出长测试文件的前两个写循环的二进制位移值,它们与我的测试打印输出中记录的内容相匹配.

while ( (characters= read(openReadFile, unpacked, BUFFER)) >0 ){
   unsigned char packed[7]; //compression storage
   int i, j, k, writeCount, endLength, endLoop;

    //loop through the buffer array
    for (i=0; i< characters-1; i++){
        j= i%7; 

        //fill up the compressed array
        packed[j]= packer(unpacked[i], unpacked[i+1], j);

        if (j == 6){
            writeCalls++; //track how many calls made

            writeCount= write(openWriteFile, packed, sizeof (packed));
            int packedSize= writeCount;
            for (k=0; k<7 && writeCalls < 10; k++)
                printf("%X ", (int)packed[k]);      

            totalWrittenBytes+= packedSize;
            printf(" %d\n", packedSize); …
Run Code Online (Sandbox Code Playgroud)

c compression bit-manipulation

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

使用Kryo将多个对象序列化为单个文件

据我所知,每个对象都会发生Kryo序列化/反序列化.是否可以将多个对象序列化为单个文件?在另一个类似的SO问题中提出的解决方法之一是使用一组对象.考虑到需要序列化的大量数据,我觉得它不会像应有的那样高效.这是正确的假设吗?

java serialization kryo

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

右对齐C++中的输出流

我在C++工作.我给了一个10位数的字符串(字符数组),其中可能有或没有3个破折号(最多13个字符).是否有内置的方式使用流向右对齐它?

我如何才能正确地打印到流中?是否有内置函数/方法来执行此操作,还是需要在字符数组的开头填充3个空格?

我正在处理ostream是具体的,不确定这是否重要.

c++

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

如何在C#中迭代内置类型?

我想在c#中遍历内置类型(bool,char,sbyte,byte,short,ushort等).

怎么做?

foreach(var x in GetBuiltInTypes())
{
//do something on x
}
Run Code Online (Sandbox Code Playgroud)

c#

8
推荐指数
2
解决办法
2221
查看次数

开始使用GUI C++编程的最佳方法是什么?

所以,我学习了C++(基础知识)并且我想编写软件,但是我偶然发现了一个我不知道从哪里开始的问题.到目前为止,在理解用于GUI构建的库时,学习C++似乎是最简单的部分,这个概念我还没有完全理解.我搜索了很多,甚至不能决定是MFC,Win32或Qt上的新人.

Qt C++ GUI看起来像一个有趣且易于使用的软件,可快速在那里提供类的定义.

使用Visual的MFC,我在预先制作的项目文件和许多类的描述中预先看到了很多代码,但是由于我必须上网,所以获取定义会慢一些.

Win32显然是用C编写的,并没有更新太多?

很多人也推荐使用Java和C#,但是当我没有C++并且还有足够的实践时,我对学习一门新语言不感兴趣.

不知道该怎么做.

c++ user-interface

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

Django在模板中嵌套循环

如何输出以下内容?我想在4个"块"类之后输出"网格"类.内部div是从视图返回的对象.

<div class="grid">
    <div class="block">...</div>
    <div class="block">...</div>
    <div class="block">...</div>
    <div class="block">...</div>
</div>
<div class="grid">
    <div class="block">...</div>
    <div class="block">...</div>
    <div class="block">...</div>
    <div class="block">...</div>
</div>
...
Run Code Online (Sandbox Code Playgroud)

我尝试过使用forloop.counter0 | divisibleby:4但没有成功.

django

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

CompositeTransform仅用于silverlight吗?

CompositeTransform仅用于silverlight?.无论如何我们可以在WPF或任何等效的替代品中使用它吗?

silverlight wpf

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

Java泛型中类型参数的前向引用

根据Java Generics FAQ http://www.angelikalanger.com/GenericsFAQ/FAQSections/TypeParameters.html#FAQ302 ,类型参数不能以这种方式前向引用

<A extends B, B> // error
Run Code Online (Sandbox Code Playgroud)

但是没关系

<A extends List<B>, B> // ok
Run Code Online (Sandbox Code Playgroud)

这两个例子用最新的验证jdk 1.6.0_24.

我的问题是,在语言规范中,这是指定的,隐含的还是可扣除的(即如果它是不真实的,其他事情可能会爆炸).我找不到任何地方.

更新

在javac7中,它是允许的.直观地说,类型参数的顺序无关紧要; 类型系统要求类型变量之间没有循环依赖关系:<A extends B, B extends A>.以前,这可以通过禁止前向参考来保证.显然,javac 7经过改进以放宽排序,同时无论排序如何都能检测循环.

java generics

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

rmagick gem install"找不到Magick-config"

尝试安装rmagick gem时,我收到如下所示的错误.我使用RVM,Ruby 1.9.2-head和Rails 3.05在Snowleopard 10.6上.回答类似的问题建议安装ImageMagick,我成功地做了.其他建议安装"libmagick9-dev库",但是,我无法弄清楚如何做到这一点.

我是一名新开发人员,非常感谢您对现有解释或资源的任何帮助或指示.谢谢!

jjdevenuta(opal)$ gem install rmagick
Fetching: rmagick-2.13.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
ERROR: Failed to build gem native extension.

/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for gcc... yes
checking for Magick-config... no
Can't install RMagick 2.13.1. Can't find Magick-config in /Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@rails3/bin:/Users/jjdevenuta/.rvm/gems/ruby-1.9.2-head@global/bin:/Users/jjdevenuta/.rvm/rubies/ruby-1.9.2-head/bin:/Users/jjdevenuta/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin:/usr/X11/bin

*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log …
Run Code Online (Sandbox Code Playgroud)

rubygems rmagick imagemagick rvm ruby-on-rails-3

235
推荐指数
11
解决办法
14万
查看次数