[thelist] w3compiler: hiding html source code

Chris Neppes cneppes at port80software.com
Wed Nov 5 12:37:15 CST 2003


RE:

:: From: "michael ensor" <edc at wnc.quik.co.nz>
:: To: <thelist at lists.evolt.org>
:: Subject: Re: [thelist] hiding html source code

:: as a matter of idle curiosity I ran the url page through the
validator, it :: returned 87 errors!

:: ----- Original Message -----
:: From: "Chris Neppes" <cneppes at port80software.com>
:: To: <thelist at lists.evolt.org>
:: Sent: Wednesday, November 05, 2003 7:40 AM
:: Subject: RE: [thelist] hiding html source code


:: : You can crunch and obfuscate your source code, including
JavaScript,
:: : safely with the w3compiler...
:: :
:: : www.w3compiler.com


::::::::::::::::::::::::::::::::::::::::::::

Michael,

Well, nobody is perfect!

The non-validation of www.w3compiler.com was not introduced by the
w3compiler code optimization tool, but was a content management flub.
Apologies!

You can see the source code for this page is safely obfuscated and
crunched, all produced by w3compiler.  Here's what the tool did to the
code:

- White space, comments and lower casing have been optimized
- File names have been remapped, shortened and thus obfuscated
- This file was reduced in size by 8% with the w3compiler, making it
transmit and load faster for users (w3comipler usually gets 10-15%
reduction on HTML/CSS files, 20-30% on JavaScript files, and some real
world pages have been crunched by 70% in our labs).
- The compiler offers other optimization functionality not applied here,
including JavaScript code condensing.

Here is the crunched http:///www.w3compiler.com -- notice the
differences: 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><t
itle>w3compiler: the developer tool for mark-up and JavaScript
optimization</title><meta http-equiv="imagetoolbar" content="no" /><meta
http-equiv="content-type" content="text/html; charset=ISO-8859-1"
/><meta http-equiv="content-language" content="en" /><meta
name="keywords" content="" /><meta name="description"
content="w3compiler" /><meta name="organization" content="w3compiler"
/><link rel="stylesheet" href="/0/a" type="text/css" media="screen"
/><link rel="stylesheet" href="/0/b" type="text/css" media="print"
/><script src="/1/a" language="javascript"
type="text/javascript"></script><script src="/1/d" language="javascript"
type="text/javascript"></script><script src="/1/t" language="javascript"
type="text/javascript"></script><script language="javascript"
type="text/javascript"><!--
function pt(){document.write('<a
href="javascript:display_next(\'HS_define\')"><img
src="images/takethetour" width="174" height="69" alt="Take the Tour"
title="Take the Tour" class="inlineimage" border="0" /><br
/></a>');document.write('<img src="images/space" width="174" height="5"
alt="Take the Tour" title="Take the Tour" class="inlineimage" border="0"
/><br /></a>')}function pi(h,t){document.write('<a
href="javascript:display_next(\''+h+'\')"><img src="images/'+h+'"
width="174" height="200" alt="'+t+'" title="'+t+'" class="inlineimage"
border="0" /><br /></a>')}//-->
</script></head><body bgcolor="white" text="black" link="#006699"
vlink="#006699" alink="#cc6600"><center><table width="760" border="0"
cellpadding="0" cellspacing="0"><tr><td width="10" rowspan="3"><img
src="/0/ac" width="10" height="1" alt="" border="0" /></td> <td
width="145" valign="top" align="left"><img src="/0/z" width="145"
height="60" alt="w3compiler logo" title="w3compiler" border="0" /></td>
<td width="265" valign="top" align="left"><img src="/0/ac" width="265"
height="6" alt="" border="0" /></td> <td width="48" valign="top"
align="left" class="np"><a href="try" onmouseover="On('try');status='Try
(www.w3compiler.com/try)';return true" onmouseout="Off('try')"><img
src="/0/m" id="try" name="try" width="48" height="60" alt="Try"
title="Try" border="0" /></a></td> <td width="53" valign="top"
align="left" class="np"><a href="buy" onmouseover="On('buy');status='Buy
(www.w3compiler.com/buy)';return true" onmouseout="Off('buy')"><img
src="/0/i" id="buy" name="buy" width="53" height="60" alt="Buy"
title="Buy" border="0" /></a></td> <td width="58" valign="top"
align="left" class="np"><a href="faqs"
onmouseover="On('faqs');status='FAQs (www.w3compiler.com/faqs)';return
true" onmouseout="Off('faqs')"><img src="/0/k" id="faqs" name="faqs"
width="58" height="60" alt="FAQs" title="FAQs" border="0" /></a></td>
<td width="85" valign="top" align="left" class="np"><a href="support/"
onmouseover="On('support');status='Support
(www.w3compiler.com/support)';return true"
onmouseout="Off('support')"><img src="/0/l" id="support" name="support"
width="85" height="60" alt="Support" title="Support" border="0"
/></a></td> <td width="86" valign="top" align="left" class="np"><a
href="contact/" onmouseover="On('contact');status='Contact
(www.w3compiler.com/contact)';return true"
onmouseout="Off('contact')"><img src="/0/j" id="contact" name="contact"
width="86" height="60" alt="Contact" title="Contact" border="0"
/></a></td> <td width="10" rowspan="3"><img src="/0/ac" width="10"
height="1" alt="" border="0" /></td> </tr><tr><td width="740"
colspan="7" bgcolor="#f5e0cc" class="np"><img src="/0/af" width="740"
height="125" alt="Fully optimize your code for Faster and Safer Web site
delivery with w3compiler!" title="Fully optimize your code for Faster
and Safer Web site delivery with w3compiler!" border="0"
class="inlineimage" /></td> </tr><tr><td width="740" colspan="7"
bgcolor="#f5e0cc" class="np"><img src="/0/ac" width="740" height="30"
alt="" border="0" /></td> </tr></table><table width="760" border="0"
cellpadding="0" cellspacing="0"><tr><td width="10" rowspan="2"><img
src="/0/ac" width="10" height="1" alt="" border="0" /></td> <td
width="9" bgcolor="#f5e0cc"><img src="/0/ac" width="9" height="1" alt=""
border="0" /></td> <td width="539" valign="top" align="right"
bgcolor="#f5e0cc"><img src="/0/ab" width="539" height="461" alt=""
border="0" /> <table width="539" border="0" cellpadding="5"
cellspacing="0"><tr><td width="20" bgcolor="#fbf3eb"><img src="/0/ac"
width="20" height="1" alt="" border="0" /></td> <td width="499"
valign="top" align="left" bgcolor="#fbf3eb"><font
face="verdana,arial,helvetica,san-serif" color="#993300"><b
class="producthead">w3compiler -- Powerful Mark-up and JavaScript
Optimization for faster &amp; safer sites</b><br /><br /></font><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1"> Your
Web site users want speed, and you want a more secure site that is
cheaper to deliver. Inefficient JavaScript, pretty markup, and even
white space won't help you achieve this. Unoptimized files waste
precious bandwidth, forcing visitors to wait longer, and make your hard
work that much easier to steal by viewing source! Stop researching all
the tricks and wasting time to trim the fat and obfuscate your code
properly like Google, Yahoo and other sites do -- optimize your Web
application easily with w3compiler.<br /><br /><b>A Compiler for Web
Sites</b><br /> Like a traditional programming language compiler,
w3compiler optimizes all or selected (X)HTML, CSS, JavaScript, ASP, and
CFM files in your site. This desktop client software removes redundant
structures from your site -- creating optimized, exact duplicates of
your pages ready for fast delivery and rendering on any Web browser.<br
/><br /><b>w3compiler Works the Way Developers Work</b><br /> Create
pages in your unoptimized, developer-friendly markup and script, and
then when you are done with edits, let the tool automatically optimize
the changes and deploy them in your target Web server directory.
w3compiler fully mirrors your site, picking up all required files for
deployment, making site optimization a natural final step before
launching new pages.<br /><br /><b>Safe &amp; Powerful Markup and Style
Optimization</b><br /> Feed w3compiler your perfect XHTML and that's
what your optimized targets will be: perfect XHTML. No broken pages from
removing DTD statements, quotes, or swapping tags. Feed it less than
stellar markup, and your pages still won't break! w3compiler always
employs safe compression techniques, erring on the side of safety. Of
course, you can always verify your work -- side-by-side visual and code
comparison tools and markup validation is only a click away.<br /><br
/><b>Real JavaScript Compression Today</b><br /> Way beyond markup,
w3compiler offers the best JavaScript optimization on the market. The
JavaScript compilation used in w3copiler uses a complete JavaScript
parser, making w3compiler the most advanced JavaScript compressor
available today. Variables, functions, objects, redundant syntax are all
reduced to minimal form automatically! Other obfuscators and compressors
will ruin all but the simplest code, while the w3compiler is so
syntax-aware that it won't even break sloppy code with intermittent
semi-colon usage and other common errors. <br /><br /><b>Advanced
Features with Room to Grow</b><br /> As a framework, w3compiler is very
extensible. This initial version not only optimizes HTML, CSS and
JavaScript files but can manage file names and extensions as well.
Optionally, w3compiler can make sites smaller and more secure by
renaming CSS, JS, and multimedia files not seen in URLs to minimal form.
The tool easily strips or modifies file extensions within HTML files,
allowing developers to enable persistent, negotiable "<a
href="http://www.port80software.com/support/articles/nextgenerationurls"
target="_blank">clean URLs</a>" using Port80's IIS server module, <a
href="http://www.pagexchanger.com/" target="_blank">PageXchanger</a>.
Future versions will support even more functionality, including improved
HTML/CSS/JS compression and dynamic page compilation. w3compiler is the
perfect platform for your development deployment needs now and in the
future. <br /><br /> For full performance optimization on the Windows
Web server side, make sure to try <a href="http://www.httpzip.com"
target="_blank">httpZip</a> for HTTP compression &amp; acceleration and
<a href="http://www.cacheright.com" target="_blank">CacheRight</a> for
cache control header management (for developers) as well. <br /><br
/></font><font color="#993300"><b
class="subhead1">Benefits</b></font><br /><ul class="body1"><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1"><b>Save
bandwidth &amp; money:</b></font> <ul class="body1"><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Reduces
file sizes 10-15% for common HTML and CSS files</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Further
reduces file sizes by 20-30% for JavaScript</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Compression rates as high as 70% in tested real world
pages!</font></li> </ul></li><li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1"><b>Speed up your site &amp; make your users
happy</b></font></li> <li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1"><b>Secure your code:</b> Protect against hacker
source sifting with more obscured JavaScript, file names, and optimized
markup and style sheets</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1"><b>Safe:</b> Preserves hard work by employing reliable
code compression that recognizes common Web standards such as HTML, CSS
and JavaScript</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1"><b>Part
of your work flow:</b> Works with common Web development practices using
staging and production sites</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1"><b>Simple &amp; powerful:</b> Eases deployment tasks by
copying entire or selected sites</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1"><b>Check your code visually:</b> Delivers verifiable
optimization through dash board metrics and side-by-side preview
interface</font></li> </ul><font color="#993300"><b
class="subhead1">Features</b></font><br /><ul class="body1"><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Safe
optimization of Web sites<br /></font><ul class="body1"><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Works
with (X)HTML, CSS, JavaScript, ASP, and CFML files</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Does
not harm existing files</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Roll-back feature restores any optimized file to its
original form</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Conservative optimization to insure code and markup
quality is preserved </font></li></ul></li><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Useful
byte-shaving improvements for markup and style<br /></font><ul
class="body1"><li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Smart white space reduction</font></li>
<li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Color remapping and entity reduction</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">META
tag management</font></li> </ul></li><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">True
JavaScript code optimization<br /></font><ul class="body1"><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Shorten
long, user-defined variables, functions and objects</font></li>
<li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Remapping of long built-in JavaScript object
names</font></li> <li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Other code optimization and byte-shaving
features</font></li> </ul></li><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Unique
advanced site preparation features<br /></font><ul
class="body1"><li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Rename image, CSS &amp; JavaScript files for
smaller and more secure sites</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">File
extension removal for <a href="http://www.pagexchanger.com/"
target="_blank">content negotiation</a> option</font></li>
</ul></li><li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Compiler-style framework with project files<br
/></font><ul class="body1"><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Save
common settings</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Selectively compress based upon changes</font></li>
<li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Full or selective optimization and deployment of
files</font></li> <li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Fully configurable with advanced
options</font></li> <li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Full statistics and logging of
projects</font></li> <li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Extensible framework allows addition of new
features</font></li> </ul></li><li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Internal preview and comparison system<br /></font><ul
class="body1"><li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Visually preview original and optimized pages
side by side</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Code
comparison allows easy comparison of before and after code</font></li>
</ul></li><li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Integration with online validation services</font></li>
<li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">External editor and browser integration<br /></font><ul
class="body1"><li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Edit and view optimized and un-optimized pages
in your favorite editor</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Preview
any page in an external Web browser of your choice</font></li>
</ul></li><li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Multiple interfaces for multiple uses<br /></font><ul
class="body1"><li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Fully configurable and easy-to-use GUI
interface</font></li> <li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Command line interface for integration with
editors and batch optimization scripts</font></li> </ul></li><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Simple
install/uninstall process</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Low
resource footprint</font></li> </ul><font color="#993300"><b
class="subhead1">Requirements</b></font><br /><ul
class="body1"><li><font face="verdana,arial,helvetica,san-serif"
size="-1" class="body1">Windows 2000/XP/2003</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">64MB of
RAM Minimum</font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Available disk space directly or on network for copy of
site</font></li> </ul><font color="#993300"><b class="subhead1">Pricing
&amp; Purchasing</b></font><br /><ul class="body1"><li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1"><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Free
15-Day Trial Download - <b><a href="try">FREE
trial!</a></b></font></font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1"><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Single
Computer License - <b><a href="buy">$79.95</a></b></font></font></li>
<li><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1"><font face="verdana,arial,helvetica,san-serif" size="-1"
class="body1">Five (5) or More Computer Licenses - <b><a
href="contact/quote">Get a quote</a></b></font></font></li> <li><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1"><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1">Pioneer
User Special - <b>Free lifetime upgrades if you purchase before December
15, 2003</b></font></font></li> </ul><a href="try"
onmouseover="On('try');status='Try (www.w3compiler.com/try)';return
true" onmouseout="Off('try')"><img src="/0/ak" width="109" height="30"
alt="Free Trial" title="Free Trial" class="inlineimage" border="0"
/></a><img src="/0/ac" width="10" height="1" alt="" border="0"
class="inlineimage" /><a href="buy" onmouseover="On('buy');status='Buy
(www.w3compiler.com/buy)';return true" onmouseout="Off('buy')"><img
src="/0/al" width="55" height="30" alt="Buy" title="Buy"
class="inlineimage" border="0" /></a> </td><td width="20"
bgcolor="#fbf3eb"><img src="/0/ac" width="20" height="1" alt=""
border="0" /></td> </tr><tr><td width="20" bgcolor="#fbf3eb"><img
src="/0/ac" width="20" height="1" alt="" border="0" /></td> <td
width="499" bgcolor="#fbf3eb" align="left"><font
face="verdana,arial,helvetica,san-serif" size="-1" class="body1"><b>Our
Guarantee to You:</b> Port80 Software is a growing company, and we stand
behind our products 100%. Port80 pledges to work with you to ensure our
products work to your satisfaction and truly make your Web applications
safer, faster and friendlier. </font><br /><br /><img src="/0/ae"
width="101" height="47" alt="Microsoft Certified Partner Logo"
title="Microsoft Certified Partner" class="inlineimage" border="0" />
</td><td width="20" bgcolor="#fbf3eb"><img src="/0/ac" width="20"
height="1" alt="" border="0" /></td> </tr></table><table width="539"
border="0" cellpadding="0" cellspacing="0" class="np"><tr><td
width="539" bgcolor="#fbf3eb"><img src="/0/ag" width="539" height="20"
alt="" border="0" /></td> </tr></table></td><td width="9"
bgcolor="#f5e0cc"><img src="/0/ac" width="9" height="1" alt=""
border="0" /></td> <td width="174" valign="top" align="left"
bgcolor="#f5e0cc" class="np"><img src="/0/ac" width="174" height="1"
alt="" border="0" class="inlineimage" /><br /><script
language="javascript" type="text/javascript"><!--
pt();//-->
</script><script language="javascript" type="text/javascript"><!--
pi('HS_define','Define Your Project');//-->
</script><noscript><img src="images/HS_define" width="174" height="200"
alt="Define Your Project" title="Define Your Project"
class="inlineimage" border="0" /><br /></noscript><img
src="images/space" width="174" height="5" alt="" border="0"
class="inlineimage" /><br /><script language="javascript"
type="text/javascript"><!--
pi('HS_setoptions','Set your options');//-->
</script><noscript><img src="images/HS_setoptions" width="174"
height="200" alt="Set your options" title="Set your options"
class="inlineimage" border="0" /><br /></noscript><img
src="images/space" width="174" height="5" alt="" border="0"
class="inlineimage" /><br /><script language="javascript"
type="text/javascript"><!--
pi('HS_compile','Compile your site');//-->
</script><noscript><img src="images/HS_compile" width="174" height="200"
alt="Compile your site" title="Compile your site" class="inlineimage"
border="0" /><br /></noscript><img src="images/space" width="174"
height="10" alt="" border="0" class="inlineimage" /><br /><a href="try"
onmouseover="On('try');status='Try (www.w3compiler.com/try)';return
true" onmouseout="Off('try')"><img src="/0/d" width="109" height="30"
alt="Free Trial" title="Free Trial" class="inlineimage" border="0"
/></a><img src="/0/ac" width="10" height="1" alt="" border="0"
class="inlineimage" /><a href="buy" onmouseover="On('buy');status='Buy
(www.w3compiler.com/buy)';return true" onmouseout="Off('buy')"><img
src="/0/c" width="55" height="30" alt="Buy" title="Buy"
class="inlineimage" border="0" /></a> </td><td width="9"
bgcolor="#f5e0cc"><img src="/0/ac" width="9" height="1" alt=""
border="0" /></td> <td width="10" rowspan="2"><img src="/0/ac"
width="10" height="1" alt="" border="0" /></td> </tr><tr><td width="740"
colspan="5" bgcolor="#f5e0cc" class="np"><img src="/0/y" width="740"
height="30" alt="" border="0" /></td> </tr></table><table width="760"
border="0" cellpadding="0" cellspacing="0"><tr><td width="20"><img
src="/0/ac" width="20" height="1" alt="" border="0" /></td> <td
width="418" align="left" class="np"><img src="/0/ac" width="418"
height="28" alt="" border="0" class="inlineimage" /><br /><font
face="verdana,arial,helvetica,san-serif" size="-2" color="#cc6600"
class="footernav"><font color="#b2d1e0">home</font> | <a href="try"
class="footernav">try</a> | <a href="buy" class="footernav">buy</a> | <a
href="faqs" class="footernav">faqs</a> | <a href="support/"
class="footernav">support</a> | <a href="contact/"
class="footernav">contact</a> </font></td><td width="200"
align="right"><img src="/0/ac" width="200" height="28" alt="" border="0"
class="inlineimage" /><br /><font
face="verdana,arial,helvetica,san-serif" size="-2" color="#cc6600"
class="footernav"> brought to you by </font></td><td width="122"><a
href="http://www.port80software.com/" target="_blank"><img src="/0/aa"
width="122" height="66" alt="Port80 Software Logo" title="Port80
Software" border="0" /></a></td> </tr></table><br
/></center></body></html>

You can download a fully functional trial at the same page online,
www.w3compiler.com.

Best,
Chris


     ::::::::::     ::::::::::

 Chris Neppes
 Port80 Software, Inc. 
 www.port80software.com  

 5252 Balboa Ave., Ste. 605 
 San Diego, CA 92117 
 cneppes at port80software.com
 858.268.7960 voice
 619.733.7484 cell 
 858.268.7760 fax

 Web server modules for Microsoft IIS.
  security. performance. user experience.

 Developers of the w3compiler 
  for mark-up & JavaScript code optimization.



More information about the thelist mailing list