0

少し前にインドにアウトソーシングすることを決定した後、クライアントがサーバーに戻しているサイトがあります。

彼らのページの 1 つでは、SWF プレーヤーを使用してビデオを再生しています。ページ内の SWF オブジェクトは、XML ファイルを使用して設定されているようです。ASPX ページの SWF コードは次のとおりです。

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
    codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
    width="900" height="600" id="tech" align="middle">
    <param name="allowFullScreen" value="true" />
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="/Images/flv/simple.swf?xml_path=/Client/XML/NFLNews.xml" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent">
    <embed src="/Images/flv/simple.swf?xml_path=/Client/XML/NFLNews.xml" quality="high"
        wmode="transparent" width="900" height="600" name="tech" align="middle" 
        allowscriptaccess="sameDomain" allowfullscreen="true" 
        type="application/x-shockwave-flash" 
        pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

embedタグに次の src プロパティがあることに注意してください。
src="/Images/flv/simple.swf?xml_path=/Client/XML/NFLNews.xml"

このページをクリックすると、ファイルに「アクセスが拒否されました」というエラーがスローされます/Client/XML/NFLNews.xml。ただし、XML ファイルを直接参照すると、IIS はエラーなしでそれを提供します。

要求に対して IIS ログに表示される内容は次のとおりです。
#Fields: date time cs-uri-stem cs-uri-query s-contentpath sc-status
2012-11-28 16:09:33.482 /Videodisplay.aspx VID=22 "X:\inetpub\wwwroot\sitename\Videodisplay.aspx" 500

Videodisplay.aspx は、SWF オブジェクトをホストするページであることに注意してください。XML ファイルは IIS ログにまったく表示されません。

IIS によってスローされる正確なエラーは次のとおりです。

Server Error in '/' Application.
Access to the path 'F:\inetpub\wwwroot\lijsoccer.com\Client\XML\NFLNews.xml' is denied.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path 'F:\inetpub\wwwroot\lijsoccer.com\Client\XML\NFLNews.xml' is denied.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET access to a file, right-click the file in File Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

IIS とは異なるセキュリティ コンテキストで SWF オブジェクトを実行する必要があると思いますか? それとも、ここで何か他のことが起こっていますか? ここで Flash を実際に扱ったことがないので、まったく初めてです。

Windows 2008 R2、ASP.NET 4、IIS 7.5

更新:Everyone最初に読み取り、次に変更アクセスを XML ファイルに与えることで、SWF が実際に XML ファイルを変更していることを確認しました。明らかに、誰もがこのファイルにアクセスできるようにしたくないので、「誰もが何かに失敗する」という監査エントリをファイルに追加して、SWFファイルが実行されているユーザーを見つけようとしました...しかし、すべてのユーザーからの書き込み許可により、DID は再び失敗し、セキュリティ監査イベントは書き込まれませんでした。そのため、SWF を実行しているユーザーを特定する方法を誰かに教えてもらえない限り、このファイルへの書き込みアクセス権を全員に残したままにしておかなければなりません。

4

0 に答える 0