簡體   English   中英

在FCKEditor中上傳文件時出現權限被拒絕錯誤

[英]Permission Denied error when uploading files in FCKEditor

我最近將asp.net應用程序從Windows 2003 / IIS 6移到了Windows IIS7。 沒有其他更改,但是現在fckeditor的文件上傳不再起作用。 任何人都知道我在這里犯的明顯錯誤。 :)

謝謝

最可能的問題是,需要在目標文件夾上更新權限。 檢查以確保IUSR對上載目錄具有創建/寫入權限。

也許這會有所幫助。

我也無法正常工作。 我已經設置了所有權限。 通過調試,我發現frmupload.html對isapi.dll沒有執行訪問權限。

在IIS 7.0中,我轉到左側的網站並突出顯示它。 然后在右窗格中,單擊處理程序映射。 我在頂部注意到isapi和cgi在頂部被禁用。

我在下面看,看到了所有啟用的處理程序。 我還注意到* .html沒有一個,而* .html有一個。 無論如何,我右鍵單擊下部窗格中啟用的處理程序所在的任何位置,然后獲得一個快捷菜單。 編輯功能許可是您要單擊的選項。 然后,您將看到用於讀取,腳本和執行的復選框。 我注意到執行未檢查,所以我檢查了它。

現在,列表中啟用了ISAPI和CGI。 我嘗試使用FCKeditor上傳,但效果很好。 只需確保將正確的文件類型上傳到正確的區域,否則您可能會收到無效文件或無效文件類型的消息。

但是,我注意到我不斷收到新錯誤。 SYS是我的網頁上未定義的錯誤消息。 它是一個JavaScript錯誤,通常在找不到內容時發生。 如果您使用Google搜索,可能會有很多原因為什么會出現此錯誤消息。 在這種情況下,這是因為我使用Vista IIS7.0來啟用具有執行權限的ISAPI。 它進入我的配置文件,對啟用執行權限的正確設置進行了更改,但是它刪除了我的所有處理程序設置!

我獲取了webconfig的備份副本,並手動讀取了設置。 我認為手動編輯webconfig文件而不是讓IIS7做可能更好,因為它可以完成,但可能會刪除某些設置。

在此之前和之后,這是我在VISTA IIS7 Web服務器上的webconfig文件的一部分:

WebConfig之前:在VISTA IIS 7.0 web.config中啟用對cgi和isapi的執行

<!-- 
    The system.webServer section is required for running ASP.NET AJAX under Internet
    Information Services 7.0.  It is not necessary for previous version of IIS.
-->
<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <remove name="ScriptModule"/>
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </modules>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <remove name="ScriptHandlerFactory"/>
        <remove name="ScriptHandlerFactoryAppServices"/>
        <remove name="ScriptResource"/>
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>
</system.webServer>
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

之后:注意

被添加,我所有的處理程序都消失了。 我只是讀了他們,它奏效了。

<!-- 
    The system.webServer section is required for running ASP.NET AJAX under Internet
    Information Services 7.0.  It is not necessary for previous version of IIS.
-->
<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules>
        <remove name="ScriptModule" />
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </modules>
    <handlers accessPolicy="Read, Execute, Script">
    </handlers>
</system.webServer>
<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
        </dependentAssembly>
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

我在開發計算機VISTA上,因此打開Execute時沒有考慮任何安全問題。 希望這可以幫助。

就像Sohnee所說的最許可的權限一樣,還要確保“ uploads”文件夾實際上存在於“ public”文件夾中(我不確定這在ASP中的位置)。

確保asp.net和iisuser_machinename用戶將具有權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM