Przeglądaj źródła

Force the Content-Security-Policy header, instead of just suggesting it in the docs.

default 1 rok temu
rodzic
commit
292b2fd122
2 zmienionych plików z 4 dodań i 3 usunięć
  1. 1 3
      doc/snac.8
  2. 3 0
      httpd.c

+ 1 - 3
doc/snac.8

@@ -198,9 +198,7 @@ By setting this to true, no inbox collection is done. Inbox collection helps
 being discovered from remote instances, but also increases network traffic.
 being discovered from remote instances, but also increases network traffic.
 .It Ic http_headers
 .It Ic http_headers
 If you need to add more HTTP response headers for whatever reason, you can
 If you need to add more HTTP response headers for whatever reason, you can
-fill this object with the required header/value pairs. For example, for enhanced
-XSS security, you can set the "Content-Security-Policy" header to "script-src ;"
-to be totally sure that no JavaScript is executed.
+fill this object with the required header/value pairs.
 .It Ic show_instance_timeline
 .It Ic show_instance_timeline
 If this is set to true, the instance base URL will show a timeline with the latest
 If this is set to true, the instance base URL will show a timeline with the latest
 user posts instead of the default greeting static page. If other information
 user posts instead of the default greeting static page. If other information

+ 3 - 0
httpd.c

@@ -553,6 +553,9 @@ void httpd_connection(FILE *f)
     headers = xs_dict_append(headers, "access-control-allow-origin", "*");
     headers = xs_dict_append(headers, "access-control-allow-origin", "*");
     headers = xs_dict_append(headers, "access-control-allow-headers", "*");
     headers = xs_dict_append(headers, "access-control-allow-headers", "*");
 
 
+    /* disable any form of fucking JavaScript */
+    headers = xs_dict_append(headers, "Content-Security-Policy", "script-src ;");
+
     if (p_state->use_fcgi)
     if (p_state->use_fcgi)
         xs_fcgi_response(f, status, headers, body, b_size, fcgi_id);
         xs_fcgi_response(f, status, headers, body, b_size, fcgi_id);
     else
     else