如果在具有基于cookie的访问限制的站点上使用AJAX,则JavaScript需要访问cookie.HttpOnly cookies是否可以在AJAX网站上运行?
编辑:如果指定了HttpOnly,Microsoft通过禁止JavaScript访问cookie创建了一种防止XSS攻击的方法.FireFox后来采用了这个.所以我的问题是:如果你在一个网站上使用AJAX,比如StackOverflow,那么Http-Only cookies是一个选择吗?
编辑2:问题2.如果HttpOnly的目的是阻止JavaScript访问cookie,你仍然可以通过XmlHttpRequest对象通过JavaScript检索cookie,那么HttpOnly有什么意义呢?
编辑3:以下是维基百科的引用:
当浏览器收到这样的cookie时,它应该像往常一样在以下的HTTP交换中使用它,但不能让它对客户端脚本可见.[32] 该
HttpOnly标志不是任何标准的一部分,并未在所有浏览器中实现.请注意,目前没有阻止通过XMLHTTPRequest读取或写入会话cookie.[33].
我知道document.cookie当你使用HttpOnly时会被阻止.但似乎您仍然可以在XMLHttpRequest对象中读取cookie值,从而允许使用XSS.HttpOnly如何让你更安全?通过使cookie基本上只读?
在您的示例中,我无法写入您的内容document.cookie,但我仍然可以使用XMLHttpRequest对象窃取您的cookie并将其发布到我的域中.
<script type="text/javascript">
var req = null;
try { req = new XMLHttpRequest(); } catch(e) {}
if (!req) try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
if (!req) try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
req.open('GET', 'http://stackoverflow.com/', false);
req.send(null);
alert(req.getAllResponseHeaders());
</script>
Run Code Online (Sandbox Code Playgroud)
编辑4:对不起,我的意思是你可以将XMLHttpRequest发送到StackOverflow域,然后将getAllResponseHeaders()的结果保存到字符串中,正则输出cookie,然后将其发布到外部域.似乎维基百科和哈克斯在这一方面同意我,但我希望能够重新接受教育......
最终编辑:啊,显然这两个网站都是错误的,这实际上是FireFox中的一个错误.IE6和7实际上是目前唯一完全支持HttpOnly的浏览器.
重申我所学到的一切:
编辑:此信息可能不再是最新的.
有没有办法重新打开Visual Studio中最后关闭的选项卡?类似于FireFox和Chrome中的Ctrl+ Shift+ t?
试图让我的css/C#函数看起来像这样:
body {
color:#222;
}
Run Code Online (Sandbox Code Playgroud)
而不是这个:
body
{
color:#222;
}
Run Code Online (Sandbox Code Playgroud)
当我自动格式化代码.
我继承了另一个开发人员写的一些javascript代码.他不喜欢我们在整个项目中使用的网格组件,因此他决定编写自己的网格组件.他写的网格不能对日期进行排序,因为它只能绑定到字符串/数字.在使用之前,他将所有日期转换为字符串.我查看了他编写的日期函数的字符串格式,并认为我可以只使用原始值为字符串添加日期属性,然后在排序时查看字符串是否具有日期属性并基于此排序.但是,似乎您无法在javascript中向字符串添加属性.我不知道有些类型你不能添加属性.例如:
<html>
<script>
var test = "test";
test.test = "test inner";
console.log(test);
console.log(test.test);
</script>
Run Code Online (Sandbox Code Playgroud)
test.test将是未定义的.奇怪的.我的问题是为什么这段代码不起作用?而且,如果你能想到在该网格上排序日期的任何变通方法(除了实际绑定到日期对象而不是字符串,这将很难修复),这将是非常有用的.
为什么.NET GUID中有破折号?在GUID的大多数实现中是否存在破折号,或者它只是Microsoft的东西?
签,
741ecf77-9c92-4435-8e6b-85975bd13452
我在SQL中编写了一个数据库生成脚本,并希望在我的Adobe AIR应用程序中执行它:
Create Table tRole (
roleID integer Primary Key
,roleName varchar(40)
);
Create Table tFile (
fileID integer Primary Key
,fileName varchar(50)
,fileDescription varchar(500)
,thumbnailID integer
,fileFormatID integer
,categoryID integer
,isFavorite boolean
,dateAdded date
,globalAccessCount integer
,lastAccessTime date
,downloadComplete boolean
,isNew boolean
,isSpotlight boolean
,duration varchar(30)
);
Create Table tCategory (
categoryID integer Primary Key
,categoryName varchar(50)
,parent_categoryID integer
);
...
Run Code Online (Sandbox Code Playgroud)
我使用以下方法在Adobe AIR中执行此操作:
public static function RunSqlFromFile(fileName:String):void {
var file:File = File.applicationDirectory.resolvePath(fileName);
var stream:FileStream = …Run Code Online (Sandbox Code Playgroud) 有没有办法在没有下划线字符的情况下跨越多行?
在诸如SQL语句之类的多行字符串中,尤其是LINQ查询,这真的很烦人.
除了更改线条时的丑陋和困难(不再排队),您不能在多行语句的中间使用注释.
我日常的个人地狱的例子.
dim results = from a in articles _
where a.articleID = 4 _ ' articleID - Nope, can't do this
select a.articleName
dim createArticle as string = _
"Create table article " & _
" (articleID int " & _
" ,articleName varchar(50) " & _
" )"
Run Code Online (Sandbox Code Playgroud) 说我有一张叫做学生的桌子.您更喜欢哪些列的命名约定?你也可以推荐自己的.
Student
-------
StudentID
StudentName
MentorID
Student
-------
StudentID
Name
MentorID
Student
-------
ID
Name
MentorID
Run Code Online (Sandbox Code Playgroud) 我在Flex中写了(大部分)应用程序,我担心保护源代码.我启动了一个Trillix swf反编译器的演示,并打开了安装到我的Program Files目录的swf文件.我看到我写的所有动作包都在那里.即使有大量代码,我也不太关心软件包,因为如果没有mxml文件,它似乎仍然无法使用.我认为它们会被转换为动作脚本,或者至少我希望如此.但是,我仍然想探讨混淆.
有没有人对Flash/Actionscript 3/Flex混淆器有任何经验?你能推荐一款好产品吗?
我正在编写用户身份验证类.在请求期间有很多对当前用户的引用,所以我想将它缓存在内存中而不是调用数据库ala singleton.我正在考虑使用会话并在每个请求结束时清除它.
喜欢:
public static User Current() {
if (Session["current-user"] == null) {
Session["current-user"] = GetUserFromDB(); // example function, not real
}
return (User)Session["current-user"];
Run Code Online (Sandbox Code Playgroud)
然后在app_end请求中:
Session.Clear();
Run Code Online (Sandbox Code Playgroud) air ×2
apache-flex ×2
.net ×1
ajax ×1
asp.net-mvc ×1
cookies ×1
guid ×1
httponly ×1
javascript ×1
obfuscation ×1
sql ×1
uuid ×1
vb.net ×1