这种情况的背景是大肆宣传的欧盟隐私法,这使得网站放弃任何"非必要"cookie是非法的,除非用户已经"选择"加入.
我的具体挑战是由于网站的复杂性和各种不同方式的cookie被丢弃 - 特别是在CMS管理的情况下,允许市场营销人员进行暴乱并在不同的地方嵌入各种内容 - 主要是围绕第三方cookie哪里有嵌入式javascript,img像素,iframes等(我推测这些都允许删除使用FF插件暂时浏览网站关键区域的第三方cookie - 我还没有检查每个的机制).
所以,我一直在考虑是否在ASP.NET中有一种方法可以全局拦截并阻止我需要的网站丢弃的所有cookie,并且还要扩展它以检查它们是否必不可少,如果没有,用户是否已经同意删除cookie(可能包含一个主YES饼干).
我不清楚有几件事情.首先 - 是否可以使用Response.Filter或Response.Cookies作为管道步骤来去除任何已被删除的cookie?其次 - 它是否有可能拦截任何类型的cookie,或者如果它们直接执行从客户端到第三方服务器的浏览器请求,它将无法捕获一些第三方的cookie?
我能找到的最接近我的问题的是这个,但这看起来像是一个全站点的解决方案 - 而不是用户特定的.
这可能不是SiteCore本身的问题,但我已将其包含在内以保证完整性.我使用应用程序池的自定义标识在IIS7下运行sitecore 6.3.我无法让Sitecore将其日志信息(使用默认的log4net设置)写入事件日志.我按照这里的建议:http://logging.apache.org/log4net/release/faq.html#Why%20doesn%27t%20the%20EventLogAppender%20work?虽然我将自定义标识作为管理员组的成员时工作正常,但我需要找到一种方法让它在生产中工作而没有这样的安全黑客.
奇怪的是我有一个MSI安装它(在一个帐户运行管理员组的成员)并在事件日志中为我创建正确的注册表项,但尽管如此,我仍然收到以下错误我使用自定义标识运行应用程序(没有它是管理员的成员).
log4net:ERROR DOMConfigurator: Could not create Appender [EventLogAppender] of type [log4net.Appender.EventLogAppender]. Reported error follows.
System.Security.SecurityException: Requested registry access is not allowed.
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at System.Diagnostics.EventLog.GetEventLogRegKey(String machine, Boolean writable)
at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly)
at System.Diagnostics.EventLog.DeleteEventSource(String source, String machineName)
at log4net.Appender.EventLogAppender.ActivateOptions()
at log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseAppender(XmlElement appenderElement)
The Zone of the assembly that failed was:
MyComputer
log4net:ERROR DOMConfigurator: Appender named [EventLogAppender] not found.
Run Code Online (Sandbox Code Playgroud)
我想我可以将其缩小到注册表权限问题我已授予Everyone对以下注册表项和子项的完全权限,但它也不起作用: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog
自定义标识是以下组的成员:
我们在sitecore中有一个文本框,允许用户搜索内容.这会回发到服务器,它会关闭,进行搜索并返回一些结果(在屏幕上显示它们).
当我输入一些狡猾的东西时,例如一些标记,我希望收到一个.net异常:
A potentially dangerous Request.QueryString value was detected from the client (q="<img src="http://www...").
Run Code Online (Sandbox Code Playgroud)
据我了解,这是自ASP.NET v1.1以来的默认行为.然后在v4.0中,它仍然是默认值,只是将其扩展到所有请求(不仅仅是网页).
所以问题如下:
1. how have sitecore disabled this?
2. what can I do to re-enable this globally (i.e. not on a per page basis)?
Run Code Online (Sandbox Code Playgroud)
我注意到web.config中有一部分像这样开始:
<!-- Continue to run Sitecore without script validations -->
<pages validateRequest="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
Run Code Online (Sandbox Code Playgroud) 我正在使用s3-php5-curl来访问我的AWS S3存储桶.
该getBucket()功能正常工作并在我自己托管PHP应用程序时检索结果但是当我将完全相同的代码放入AWS EC2实例(默认AIM - Linux,Apache,PHP)时,我收到以下错误:
Warning: S3::getBucket(): [51] Unable to communicate securely with peer: requested domain name does not match the server's certificate. In /var/www/html/s3-php5-curl/S3.php on line 136 Warning: Invalid argument supplied for foreach() in /var/www/html/index.php on line 15
我无法理解它.它是什么意思,我该如何解决?
编辑:我确实将此标记为已回答,但我错了.无论您使用的是亚马逊SDK还是php5-curl库,我都链接到了潜在的问题.在某些地区,似乎存在影响EC2用户的一般性问题,他们尝试以编程方式访问与SSL认证相关的S3存储桶,其中存储桶名称包括一个句点(也称为句点).它已被记录,但在这里尚未解决.