From ada88090ead2c3b9d0804794c5f20f9b24d1c2b1 Mon Sep 17 00:00:00 2001 From: Nik Nyby Date: Sat, 17 Jan 2015 17:12:36 -0500 Subject: Import to new git repository The old repository was using almost 100mb of space because of all the unnecessary files in the history. So I've imported the code to a new git repository. Unfortunately the history isn't viewable from this repository anymore. To see what happened with LibreJS before 2015, see the old Bazaar repo here: http://bzr.savannah.gnu.org/lh/librejs/ --- doc/manual/html_node/LibreJS-Internals.html | 94 +++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 doc/manual/html_node/LibreJS-Internals.html (limited to 'doc/manual/html_node/LibreJS-Internals.html') diff --git a/doc/manual/html_node/LibreJS-Internals.html b/doc/manual/html_node/LibreJS-Internals.html new file mode 100644 index 0000000..9a12390 --- /dev/null +++ b/doc/manual/html_node/LibreJS-Internals.html @@ -0,0 +1,94 @@ + + + + + +GNU LibreJS 6.0.8.20150117: LibreJS Internals + + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Top   [Contents]

+
+
+ +

Appendix B LibreJS Internals

+ +

LibreJS intercepts HTTP responses and rewrites their contents after +analyzing JavaScript within them. It does not remove script nodes and +attributes from the page, but instead “deactivates” them by modifying +the type and src attributes on script elements and by +moving the contents of inline JavaScript attributes such as onClick +into harmless attributes. +

+

LibreJS detects the most common cases using the HTTP response method +described above, but in extremely rare cases, or when running code +locally, LibreJS cannot detect JavaScript during the response stage. +

+

To remedy this issue, and as a final safeguard, LibreJS takes a look +at the scripts that are about to be executed while the browser engine is +parsing the page. If the script is not found in a list of accepted +scripts populated earlier, the execution will be prevented. This is to +ensure content types that are not regular HTML (binhex with HTML in it, +…) and JavaScript do not fall through the cracks and get executed. +

+ + + + + -- cgit v1.2.3