作为开发人员,我发现新的Internet Explorer版本是一个完整的噩梦.我关闭了Windows功能,但我无法安装Internet Explorer 10.它说它已经安装了它不是.是否有我应删除的文件或注册表项?
我想让人们用"Facebook登录"登录.但是,我想知道它是否足够安全,或者我只是做错了.
成功登录后我得到的是用户数据,带有facebook_id,我正在通过处理程序将JavaScript重新传递到服务器的数据库,因为我使用的是asp.net.
但是,我认为通过恶意使用,可以改变这些数据.并将垃圾插入服务器,甚至插入不同的facebook_id.
所以我想知道"Facebook登录"是否足够安全,或者我做错了.我考虑过将该客户端数据传递给服务器的其他选项 - 通过使用隐藏的runat = server文本框回发服务器,但仍然可以使用恶意使用来更改这些文本框.我在这里读到了让用户为他们的Facebook用户名添加密码的选项,但听起来有点用户不友好.
我对吗?这是一种更安全的方法吗?Facebook可以在客户端浏览器上放置任何我可以从服务器读取的cookie吗?好像许多网站使用这个"Facebook登录"可能有另一种方式,我没有想到...
根据facebook的Javascript SDK,facebook应用程序应在其init代码中包含"Channel File".在这里发布:http: //developers.facebook.com/docs/reference/javascript/
我没有完全理解为什么他们需要它,或者该文件的内容应该是什么,但我只是使用他们的基本示例,因为它可能有助于某些特定问题.
我的问题是 - 他们说应该缓存这个'channel.html'文件.甚至举了一个如何用PHP缓存它的例子:
<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: max-age=".$cache_expire);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
?>
Run Code Online (Sandbox Code Playgroud)
事情是,AFAIK,因为我不能用asp.net把c#代码放在html文件中.
所以同时我只是添加硬编码,如:
<head>
<meta http-equiv="cache-control" content="max-age=31536000;public" />
<meta http-equiv="expires" content="31536000" />
</head>
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是正确的方法,因为"expires"应该以特定的格式日期给出.
任何想法我怎么能做对吗?也许我可以服务facebook'channel.aspx'而不是?