在您的Django应用上设置草稿安全HTTP头Permissions-Policy
(之前称为Feature-Policy
)。
项目描述
在您的Django应用上设置草稿安全HTTP头Permissions-Policy
(之前称为Feature-Policy
)。
更聪明、更快速地工作,通过我的书提升您的Django DX,它涵盖了提高您的开发体验的许多方法。
要求
支持Python 3.8到3.12。
支持Django 3.2到5.1。
安装
使用
pip
安装
python -m pip install django-permissions-policy
2. 在您的MIDDLEWARE
设置中添加中间件。最好在Django的SecurityMiddleware
之后添加,以便在堆栈中的同一位置添加头
MIDDLEWARE = [
...,
"django.middleware.security.SecurityMiddleware",
"django_permissions_policy.PermissionsPolicyMiddleware",
...,
]
将
PERMISSIONS_POLICY
设置添加到您的设置中,至少命名一个功能。以下是一个设置严格策略以禁用所有可能侵犯隐私和令人讨厌的功能的示例PERMISSIONS_POLICY = { "accelerometer": [], "ambient-light-sensor": [], "autoplay": [], "camera": [], "display-capture": [], "document-domain": [], "encrypted-media": [], "fullscreen": [], "geolocation": [], "gyroscope": [], "interest-cohort": [], "magnetometer": [], "microphone": [], "midi": [], "payment": [], "usb": [], }
有关设置的更多信息,请参阅下文。
设置
更改PERMISSIONS_POLICY
设置以配置头的内
该设置应该是一个字典,按照以下内容展开
值是字符串列表,其中每个字符串可以是起源,例如'https://example.com',或者是特殊值'self'或'*'。如果只有一个值,则不需要包含列表。要表示不允许任何起源,请使用空列表。
注意,在头信息中,域名被双引号括起来 - 不要在您的 Python 字符串中包含这些引号,因为它们将由中间件添加。
如果键或值无效,则在实例化时或处理响应时将引发ImproperlyConfigured异常。当前功能列表通过 Chrome 和 Firefox 中的 document.featurePolicy.allowedFeatures() 从 JavaScript API 中获取。浏览器并不总是能识别所有功能,这取决于版本和配置。您可能会在控制台看到关于头信息中不可用功能的警告 - 这些通常可以安全忽略,因为 django-permissions-policy 已经验证了您没有完全未知的名字。
为了与旧配置保持向后兼容,列表中支持'none'值,但将被忽略 - 使用空列表更佳。在与其他值一起指定'none'没有意义。
示例
完全禁用地理位置,对于当前起源和所有iframe
PERMISSIONS_POLICY = {
"geolocation": [],
}
仅允许来自当前起源和来自https://archive.org的iframe自动播放
PERMISSIONS_POLICY = {
"autoplay": ["self", "https://archive.org"],
}
允许所有起源自动播放
PERMISSIONS_POLICY = {
"autoplay": "*",
}
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分布
构建分布
django_permissions_policy-4.21.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 233f5de198ba8f4ee85ba9ffd5dacfd02c9d661bdaf11e91eb45ae02e6f0e915 |
|
MD5 | 63b0c81230c2b9806ae24faa844e8b92 |
|
BLAKE2b-256 | 691238af3226c876b308dccf2eaee03a94748068bd1c4481f248bba241f84e05 |
哈希值 for django_permissions_policy-4.21.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9ec1edd028d8f4ea0cc9c1f44ad0c8c3339aec3aa796e40630dd3c3875f3b50e |
|
MD5 | 24fe619bb3eb3de9e00ebe1c41a81856 |
|
BLAKE2b-256 | 71067f0fe4c6f11d24ab5fcc7dc9fcafb5c59430e44592011370fb4a9398eca1 |