Create a Password Protected ZIP
Have you ever wanted to put very basic security (a passphrase) on a file? You can do so if you ZIP the file -- let's have a look at how you can password-protect a ZIP file!
Creating a password protected ZIP file from command line is done so via the following command:
# zip -er {file name to be created} {source directory or file}
zip -er my-generated-file.zip source-file.rtf
When someone tries to unzip the file, they'll be prompted for a password.
Don't be under any illusion that a password makes the ZIP file too secure: ZIP files don't self-destruct after a given number of attempts so a brute force effort to crack the password would ultimately be effective. If you do, however, want a very basic level of security for the contents of a file, this command will get you there.
![Serving Fonts from CDN]()
For maximum performance, we all know we must put our assets on CDN (another domain). Along with those assets are custom web fonts. Unfortunately custom web fonts via CDN (or any cross-domain font request) don't work in Firefox or Internet Explorer (correctly so, by spec) though...
![How I Stopped WordPress Comment Spam]()
I love almost every part of being a tech blogger: learning, preaching, bantering, researching. The one part about blogging that I absolutely loathe: dealing with SPAM comments. For the past two years, my blog has registered 8,000+ SPAM comments per day. PER DAY. Bloating my database...
![Flexbox Equal Height Columns]()
Flexbox was supposed to be the pot of gold at the long, long rainbow of insufficient CSS layout techniques. And the only disappointment I've experienced with flexbox is that browser vendors took so long to implement it. I can't also claim to have pushed flexbox's limits, but...
![CSS @supports]()
Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS. What we end up doing is repeating the same properties multiple times with each browser prefix. Yuck. Another thing we...