带有API密钥的JSON文件在何处放置以进行私有访问

我有一个Web应用程序(asmx),它使用存储在JSON文件中的API秘密。当前我已将该文件放在wwwroot / myapp /文件夹中

        string htmlFilePath = HttpContext.Current.Server.MapPath("~/");
        string contents = File.ReadAllText(htmlFilePath+@"\file.json");
        return contents;

此文件可从浏览器公开访问。如何使该文件只能由应用程序访问?

sdfweg34234 回答:带有API密钥的JSON文件在何处放置以进行私有访问

在您的Web项目中创建一个名为App_Data的新文件夹,并将您的私人文件放在那里。默认情况下,ASP将禁止App_Data文件夹中的文件公开访问。

,

在IIS的配置中,您可以使用筛选来拒绝对服务器资源的访问。如果我是对的,则<denyUrlSequences>配置元素可能合适

<denyUrlSequences>元素包含一组元素,这些元素指定IIS将拒绝的URL字符序列,这有助于防止Web服务器上基于URL的攻击。

在IIS配置中,使用以下内容过滤privatekey.json

<system.webServer>
   <security>
      <requestFiltering>
         <denyUrlSequences>
            <add sequence="privatekey.json" />
         </denyUrlSequences>
      </requestFiltering>
   </security>
</system.webServer>

否则,您可以将文件存储在IIS的根目录之外,例如C:\.private\privatekey.json并从那里加载文件。

本文链接:https://www.f2er.com/2570585.html

大家都在问