tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

script-src-strict_dynamic_javascript_uri.html (1130B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 
      4 <head>
      5    <title>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</title>
      6    <script src='/resources/testharness.js' nonce='dummy'></script>
      7    <script src='/resources/testharnessreport.js' nonce='dummy'></script>
      8 
      9    <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' -->
     10 </head>
     11 
     12 <body>
     13    <h1>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</h1>
     14    <div id='log'></div>
     15    <a id='javascriptUri' href='javascript:javascriptUriScriptRan = true;'></a>
     16 
     17    <script nonce='dummy'>
     18        var javascriptUriScriptRan = false;
     19 
     20        async_test(function(t) {
     21            window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) {
     22                assert_false(javascriptUriScriptRan);
     23                assert_equals(e.effectiveDirective, 'script-src-elem');
     24            }));
     25 
     26            document.getElementById('javascriptUri').click();
     27            assert_false(javascriptUriScriptRan);
     28        }, "Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.");
     29    </script>
     30 </body>
     31 
     32 </html>