Я могу ограничить доступ к различным источникам через Content-Security-Policy
в html.Но для навигации по file://
кажется, что файлы разрешены в любом месте файловой системы.
Я пытался использовать
<meta http-equiv="Content-Security-Policy" content="default-src 'none'">
Когда я загружаю его с помощью file://path/to/myfile.html
и используйте <a href="file:///var/log/system.log">System</a>
, я могу щелкнуть и просмотреть содержимое системного журнала.
Мой вопрос: можно ли ограничить загрузку ресурсов или навигацию только подпапками вместо всего в файлесистема для file://
urls?
Я пробовал в Google Chrome Версия 71.0.3578.98 (Official Build) (64-bit)
MacOS 10.12.6.
РЕДАКТИРОВАТЬ: приведение ниже реального случая на Apache Cordova 8.1.2:
Создать новый проект, используя cordova create HelloWorld
.Затем отредактируйте HelloWorld/www/index.html
и добавьте <div><a href="file:///etc/hosts">System</a></div>
.
Затем выполните cordova platform add android
и cordova run android
.Нажмите на ссылку System
, и вы сможете просмотреть /etc/hosts
, даже если я изменил CSP на <meta http-equiv="Content-Security-Policy" content="default-src 'none'">
(по крайней мере, на моем мобильном телефоне без рута).