何时和为什么我需要使用web.allowunsafeupdates = true -- sharepoint-foundation 领域 sharepoint 相关 的问题

When & why I need to use web.AllowUnsafeUpdates = true


6
vote

问题

中文

&为什么我需要使用web.allyunsafeupdates = true,以及默认情况下为什么为false:

   web.AllowUnsafeUpdates = true;  //Update Item  web.AllowUnsafeUpdates = false;   
英文原文

When & why I need to use web.AllowUnsafeUpdates = true, and why it is false by default:

 web.AllowUnsafeUpdates = true;  //Update Item  web.AllowUnsafeUpdates = false; 
  
 
 

回答列表

6
 
vote
vote
最佳答案
 

出于安全性的原因,默认情况下,Microsoft SharePoint Foundation不允许您从Web应用程序中的帖子来修改数据库的内容,除非您在提出请求的页面上包含安全验证。您可以通过向制作请求的页面添加页面指令和Formdigest控件来更新单个站点或网站集的数据。

要从内容DB获取内容,我们需要设置upplunsafeupdates = true。 要将内容发布到内容DB,不需要设置AllowUnsafeupdates = true。为什么由于在每个母版页中放置的"FormDigest" 控件而易于含义。

当/ wher where / why / why firw sharepoint中的"allowunsafeupdates" ?

为什么需要使用spweb.allowunsafeupdates?

您需要知道的内容关于allowunsafeupdates(第1部分)

 

For reasons of security, by default, Microsoft SharePoint Foundation does not allow you to make posts from a Web application to modify the contents of the database unless you include security validation on the page making the request. You can update data for a single site or for a site collection by adding a page directive and a FormDigest control to the page that makes the request.

To GET the content from the content DB, we need to set the AllowUnsafeUpdates = true. To POST the content to the content DB, not require to set the AllowUnsafeUpdates = true. why means because of "FormDigest" control placed in every master page.

When/where/why use "AllowUnsafeUpdates" in SharePoint?

Why do I need to use SPWeb.AllowUnsafeUpdates?

What You Need To Know About AllowUnsafeUpdates (Part 1)

 
 
         
         
4
 
vote

为什么 - >防止您的代码来自跨站点脚本。

如果您使用POST请求更新内容数据库,那么您应该使用 sputility.validateFormdigest()以验证当前请求,然后您不必担心 upplunsafeupdates ,因为验证表单摘要后,其默认值将为"true" 。 介绍 upplunsafeupdates 属性的微软想法是保护您免受跨站点脚本攻击。

如果您使用的是要更新SharePoint对象的请求,那么它将抛出异常 system.exception:microsoft.sharepoint.spexception bcoz您的代码将通过跨站点脚本进行利用。为防止此CSS必须将 upplunsafeupdates to true设置为true,并且在更改后使其到false或任何前一个值。

如果httpcontext.current为null,那么 alliveafupdates 将始终为真。这是富客户端的情况,因为没有交叉脚本,因为根本没有Web请求。

 

WHY --> to prevent your code from cross site scripting.

If you are updating content DB using a POST request then you should use SPUtility.ValidateFormDigest() to validate the current request and after that you will not have to worry about AllowUnsafeUpdates, because its default value will be xe2x80x9ctruexe2x80x9d after the form digest is validated. The Microsoft idea behind introducing the AllowUnsafeUpdates property is to protect you from cross-site scripting attacks.

If you are using GET request to update the sharepoint objects then it will throw an exception System.Exception: Microsoft.SharePoint.SPException bcoz your code will be exploitable via a cross-site scripting. To prevent this CSS you have to set AllowUnsafeUpdates to true and after changes make it to false or whatever the previous value.

Also If the HTTPContext.Current is null then AllowSafeUpdates will be always true. This is the case in rich clients where no cross-scripting is possible as there are simply no web requests.

 
 

相关问题

0  SharePoint WFE中的平衡加载  ( Balance loading in sharepoint wfe ) 
有人可以提供有关负载平衡的信息以及如何在WFE中配置。我的WFE将有多个Web应用程序和多个站点集合。如何实现这个? ...

1  将SharePoint Foundation 2010移动到SQL Express 2008 R2到SQL Server 2008 R2  ( Moving sharepoint foundation 2010 from sql express 2008 r2 to sql server 2008 r2 ) 
我们有一个非常小的SharePoint Foundation 2010农场,带有库和一些工作流程。我们希望使用SQL Server Express 2008 R2最初在一台服务器上构建此服务器。 然而,有可能成长为更大的可能性,这显然是设计必须改变,但与此同时......我们仔细踩着一个小而廉价的环境。 我的问题源...

0  什么是SharePoint 2013 Foundation可以运行的最新版本的IIS  ( What is the newest version of iis that sharepoint 2013 foundation can run ) 
什么是SharePoint 2013 Foundation可以运行的最新版本的IIS?服务器目前在Server 2012和2012上可以在我能够确定的情况下运行IIS 10。 ...

2  选择最合适的解决方案  ( Choosing the most appropriate solution ) 
我希望你们有助于我是新的,因为我是SharePoint开发的新手,它似乎拥有一百万,一种实现任何目标的方法! 我需要在Intranet上提供我们的员工进入产品文档(Wiki?),在那里他们可以写入特定组件,将其与其他组件相关联(使用指向同一列表中的依赖性的查找列) ,将其介绍它适用的产品(查找到产品列表)并指出它是否...

2  我可以在SharePoint项目中使用ASP.NET Web服务吗?  ( Can i use asp net web service in sharepoint project ) 
我在ASP.NET项目中创建了.asmx webservice。我的怀疑是,这是在SharePoint项目中使用此WebService? 假设这是我的代码 source: function (request, response) { $.ajax({ ...

1  自定义表单jQuery代码,以编辑表单隐藏的字段  ( Custom form jquery code needed for hiding fields in an edit form ) 
我目前正在使用以下jQuery代码来帮助根据另一个字段的值隐藏字段: <script rc="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $("select[title='Col...

2  SharePoint 2013和与Office 2013的集成  ( Sharepoint 2013 and integration with office 2013 ) 
我有一个新的SharePoint Foundation 2013。我大约99%完成了配置它,但我遇到了Office集成的问题。我的文档库需要在编辑之前结帐。我有两个问题,我无法弄清楚: 1)打开文档而不检查外,Microsoft Word显示"编辑文档" 按钮。按下它会导致消息"我们无法连接到服务器。如果这会导致发...

2  无法使用SharePoint(HTTP)注册工作流程服务  ( Unable to register the workflow service with sharepointhttp ) 
无法使用SharePoint(http)注册工作流程服务 当我运行命令以注册: Register-SPWorkflowService -SPSite http://servername:port/ -WorkflowHostUri http://servername:12291/ -AllowOAut...

0  Forefront TMG for SharePoint 2010应用程序  ( Forefront tmg for sharepoint 2010 application ) 
我对TMG有很少的怀疑。我列出了所有人。 PL回复所有要点。 tmg服务器不在SharePoint 2010 Intranet应用程序中使用,而是仅在Internet应用程序中使用。 如果任何SharePoint 2010 Intranet应用程序具有频道合作伙伴访问IT&amp的模块;使用SQL实现的FB...

0  将Word文档从文档库添加到列表字段  ( Adding word document from a document library to a list field ) 
如何从文档库添加单词文档到列表字段? 我问这个问题是因为我尝试了很多东西(在一个不起作用的列表中设置一个内容类型支持文档;在没有成功的情况下设置spd的工作流程)。我想做的是简单:每次在我的文档库中生成一个单词文档,我想将它添加到我的列表中的最后一个项目(例如在"附件" 字段中),但是如何耗尽想法,有没有人知道如何...

0  SharePoint 2010 Foundation Site操作功能区不可见网站集管理员  ( Sharepoint 2010 foundation site action ribbon not visible for site collection ad ) 
在SharePoint 2010基础中,突然用户看不到网站操作菜单,新项目,编辑项目等。功能区按钮被禁用。在列表功能区中,只能出口到Excel按钮。 我也无法在SharePoint Designer中打开现场,它会给您提供权限错误。我是网站集管理员。 此问题是单个Web应用程序。其他Web应用程序在同一服务器工作完美...

1  问:将新项目添加到列表后,是否有一种方法/工作流程将自动将新项目添加到另一个列表?  ( Q after adding a new item to a list is there a way workflow to automatically a ) 
我希望有人能把我指导到能够做以下的正确路径。 我有一个"问题跟踪器" 列表和"团队讨论" 列表。在向"问题跟踪器" 添加新项目时,我希望SharePoint在"团队讨论" 列表中自动添加一个新项目,我将用来使用查找列与问题跟踪器中关联的项目相关联/连接。 我这样做是为了利用在更欣赏的领域的工作中讨论主题,例如"团队...

2  客户端对象模型 - 如何使用relivederverurl访问列表  ( Client object model how can i access a list using relativeserverurl ) 
我正在使用客户端对象模型,我希望使用服务器相对URL访问列表。 可以使用 web.GetFolderByServerRelativeUrl 可以访问文件夹,但列出没有此类功能。 可用API是 web.Lists.GetByID 和 web.Lists.GetByTitle 我无法使用的(列表标题与listname /...

1  SharePoint Foundation 2013 - 审核日志  ( Sharepoint foundation 2013 audit log ) 
我可以从审核日志中读取,单击多少次项目? 我知道我可以使用服务器版,但基础呢? 我所做的:中央管理局,我启用了安全商店服务/"审计日志" 我也安装了 https://auditlogsp.codeplex.com/ 和我检查的日志。 但是,似乎基础不保存项目开口? 我可以从数据库中阅读相同的日志:wss...

0  SharePoint Foundation 2010 - 无法更改网站主题  ( Sharepoint foundation 2010 unable to change site theme ) 
我在SharePoint Foundation 2010环境中更改网站主题时遇到了问题。 当我做网站行动&gt;网站设置&gt;看起来和感觉&gt;网站主题,我收到: 错误:访问被拒绝 我目前可以完全控制网站。 在验证中央管理局的用户权限时,我可以看到所有权限都已启用(包括"应用主题和边框" )。 我可以在我的ULS...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.