Куда поместить JSON файл с ключом API для частного доступа - PullRequest
1 голос
/ 27 марта 2020

У меня есть веб-приложение (asmx), которое использует секрет API, хранящийся в файле JSON. В настоящее время я поместил файл в папку wwwroot/myapp/

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

Этот файл доступен для общего доступа из браузер. Как сделать этот файл доступным только для приложения?

Ответы [ 2 ]

2 голосов
/ 27 марта 2020

Создайте новую папку с именем App_Data в своем веб-проекте и поместите туда свои личные файлы. По умолчанию ASP запрещает файлы в папке App_Data для доступа publi c.

0 голосов
/ 27 марта 2020

В конфигурации IIS вы можете использовать фильтрацию, чтобы запретить доступ к ресурсам на вашем сервере. Если я прав, элемент конфигурации <denyUrlSequences> может быть подходящим атаки на веб-сервер.

В вашей конфигурации IIS используйте следующую команду для фильтрации privatekey.json

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

В противном случае вы можете сохранить файл из root IIS, например C:\.private\privatekey.json и загрузите файл оттуда.

...