Пример #1
0
def secure_web_page(qwebpage_or_qwebsettings):
    from PyQt5.QtWebKit import QWebSettings
    settings = qwebpage_or_qwebsettings if isinstance(qwebpage_or_qwebsettings, QWebSettings) else qwebpage_or_qwebsettings.settings()
    settings.setAttribute(QWebSettings.JavaEnabled, False)
    settings.setAttribute(QWebSettings.PluginsEnabled, False)
    settings.setAttribute(QWebSettings.JavascriptCanOpenWindows, False)
    settings.setAttribute(QWebSettings.JavascriptCanAccessClipboard, False)
    settings.setAttribute(QWebSettings.LocalContentCanAccessFileUrls, False)  # ensure javascript cannot read from local files
    settings.setAttribute(QWebSettings.NotificationsEnabled, False)
    settings.setThirdPartyCookiePolicy(QWebSettings.AlwaysBlockThirdPartyCookies)
    settings.setAttribute(QWebSettings.OfflineStorageDatabaseEnabled, False)
    settings.setAttribute(QWebSettings.LocalStorageEnabled, False)
    QWebSettings.setOfflineStorageDefaultQuota(0)
    QWebSettings.setOfflineStoragePath(None)
    return settings
Пример #2
0
 },
 'storage': {
     'offline-storage-database':
     (MapType.attribute, QWebSettings.OfflineStorageDatabaseEnabled),
     'offline-web-application-storage':
     (MapType.attribute, QWebSettings.OfflineWebApplicationCacheEnabled),
     'local-storage': (MapType.attribute, QWebSettings.LocalStorageEnabled),
     'maximum-pages-in-cache':
     (MapType.static_setter,
      lambda v: QWebSettings.setMaximumPagesInCache(v)),
     'object-cache-capacities':
     (MapType.static_setter,
      lambda v: QWebSettings.setObjectCacheCapacities(*v)),
     'offline-storage-default-quota':
     (MapType.static_setter,
      lambda v: QWebSettings.setOfflineStorageDefaultQuota(v)),
     'offline-web-application-cache-quota':
     (MapType.static_setter,
      lambda v: QWebSettings.setOfflineWebApplicationCacheQuota(v)),
 },
 'general': {
     'private-browsing':
     (MapType.attribute, QWebSettings.PrivateBrowsingEnabled),
     'developer-extras':
     (MapType.attribute, QWebSettings.DeveloperExtrasEnabled),
     'print-element-backgrounds':
     (MapType.attribute, QWebSettings.PrintElementBackgrounds),
     'xss-auditing': (MapType.attribute, QWebSettings.XSSAuditingEnabled),
     'site-specific-quirks':
     (MapType.attribute, QWebSettings.SiteSpecificQuirksEnabled),
     'default-encoding': (MapType.setter,
Пример #3
0
     'offline-storage-database':
         (MapType.attribute, QWebSettings.OfflineStorageDatabaseEnabled),
     'offline-web-application-storage':
         (MapType.attribute,
          QWebSettings.OfflineWebApplicationCacheEnabled),
     'local-storage':
         (MapType.attribute, QWebSettings.LocalStorageEnabled),
     'maximum-pages-in-cache':
         (MapType.static_setter, lambda v:
             QWebSettings.setMaximumPagesInCache(v)),
     'object-cache-capacities':
         (MapType.static_setter, lambda v:
             QWebSettings.setObjectCacheCapacities(*v)),
     'offline-storage-default-quota':
         (MapType.static_setter, lambda v:
             QWebSettings.setOfflineStorageDefaultQuota(v)),
     'offline-web-application-cache-quota':
         (MapType.static_setter, lambda v:
             QWebSettings.setOfflineWebApplicationCacheQuota(v)),
 },
 'general': {
     'private-browsing':
         (MapType.attribute, QWebSettings.PrivateBrowsingEnabled),
     'developer-extras':
         (MapType.attribute, QWebSettings.DeveloperExtrasEnabled),
     'print-element-backgrounds':
         (MapType.attribute, QWebSettings.PrintElementBackgrounds),
     'xss-auditing':
         (MapType.attribute, QWebSettings.XSSAuditingEnabled),
     'site-specific-quirks':
         (MapType.attribute, QWebSettings.SiteSpecificQuirksEnabled),