小编jcg*_*iam的帖子

当它应该在C#/ Java中返回-1时,IndexOf方法返回0

我的一个朋友带着这种我无法解释的奇怪行为来找我,任何洞察力的观点都会受到赞赏.

我正在运行VS 2005(C#2.0),以下代码显示了该行为

int rr = "test".IndexOf("");
Console.WriteLine(rr.ToString());
Run Code Online (Sandbox Code Playgroud)

上面的代码,打印"0",清楚地表明它应该返回-1

这也发生在Java中,下面的Class显示了这种行为:

public class Test{
 public static void main(String[] args){
   System.out.println("Result->"+("test".indexOf("")));
 }
}
Run Code Online (Sandbox Code Playgroud)

我正在运行Java 1.6.0_17

c# java string logic indexof

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

MVC AntiForgeryToken重用以前生成的令牌

目前我正在研究ASP .NET MVC 4应用程序.我们使用提供的[ValidateAntiForgeryToken]和相应的@Html.AntiForgeryToken()来生成我们使用POST提交的表单中的隐藏字段.

到目前为止,该机制似乎正常工作,因为如果我没有提供令牌作为输入隐藏字段到目标操作注释与[ValidateAntiForgeryToken]错误按预期引发.

但是我觉得很奇怪,如果我使用Firebug或Chrome检查器捕获了几个生成的令牌,将它们复制到记事本然后转到另一个页面,该页面也使用AntiForgeryToken并基本上用任何先前生成的令牌替换隐藏字段,这是一个错误没有提出.我期望总是有一个1:1的关系(Page Hidden Field - ValidationAtServer),因为如果某人能够获得该值,将能够伪造任何请求到需要AntiForgeryToken的应用程序中的任何形式

我的印象是,一旦生成令牌,就不可能重复使用相同的令牌,我认为这是框架本身的安全漏洞.

如果有人能够提供更多的洞察力,将会非常感激它.

xss asp.net-mvc cross-site asp.net-mvc-4

4
推荐指数
1
解决办法
2487
查看次数

PL/SQL模式名称与Oracle关键字相同

我知道这听起来很奇怪,但我需要执行一些PL/SQL,其中包的所有者与Oracle保留字冲突,IF.

基本上,对象的所有者是IF.当我使用SQL Developer执行该过程时,生成的脚本会抛出错误,因为它尝试将游标变量声明为:

 variable_name IF.MYCUSTOM_TYPE
Run Code Online (Sandbox Code Playgroud)

目前我无法控制架构,所以我无法改变任何东西.

oracle plsql

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

标签 统计

asp.net-mvc ×1

asp.net-mvc-4 ×1

c# ×1

cross-site ×1

indexof ×1

java ×1

logic ×1

oracle ×1

plsql ×1

string ×1

xss ×1