データ更新のためのセキュリティ検証と投稿の作成

最終更新日: 2010年4月8日

適用対象: SharePoint Foundation 2010

セキュリティ上の理由から、Microsoft SharePoint Foundation は、データベース コンテンツの変更を目的とした Web アプリケーションからの投稿を、既定で許可していません。ただし、要求を出すページにセキュリティ検証が組み込まれている場合を除きます。

サイトまたはサイト コレクションのデータを更新する

要求を出すページにページ ディレクティブと FormDigest コントロールを追加することによって、単一サイトまたはサイト コレクションのデータを更新することができます。以下のディレクティブが Microsoft.SharePoint.WebControls 名前空間に登録されます。

<%@ Register 
   Tagprefix="SharePoint" 
   Namespace="Microsoft.SharePoint.WebControls" 
   Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

注意

現在の SharePoint Foundation 展開の PublicKeyToken 値は、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\SiteTemplates\sts フォルダーの default.aspx ファイルから取得できます。または Windows エクスプローラーで、ローカル ドライブ:\WINDOWS|WINNT\assembly の Microsoft.SharePoint アセンブリに対して表示される情報から取得できます。

FormDigest コントロールを以下のようにフォーム内に組み込みます。

<form id="Form1" method="post" runat="server">
   <SharePoint:FormDigest ID="MyFormDigest" runat="server"/>
   <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 282px; 
      POSITION: absolute; TOP: 282px" runat="server" 
      Text="Button"></asp:Button>
</form>

ASPX ページにこのコントロールを挿入することでセキュリティ検証、つまりメッセージ ダイジェストが生成され、ユーザーを騙してサーバーにデータを投稿させようとする攻撃を防ぐことができます。セキュリティ検証は、特定のユーザー、サイト、および期間限定で、設定可能な期間を経過すると期限切れになります。ユーザーがページを要求すると、サーバーはセキュリティ検証が挿入されたページを返します。ユーザーがそのフォームを送信すると、サーバーはセキュリティ検証が変更されていないかどうかを検証します。このコントロールの詳細については、FormDigest クラスを参照してください。

関連項目

概念

SharePoint 開発タスク - トピック集

リストのオブジェクトとコレクションを操作する

その他の技術情報

基本的なオブジェクト モデルのタスク