The Caveena Solutions Blog

File this one under “Silly Workarounds that work”. This is an ever-so-slight variation of CSS-Trick’s method.

There was some text that needed to be placed over an image. The problem was that while the text-color was fixed, the image colour wasn’t so there was a chance that you could have poor contrast between the text and the image.

The quick CSS workaround I used was to use text-shadow to add an outline (or stroke) like so:

.text-to-outline {
  text-shadow: 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000;
}

Hey, don’t judge me because it works. Play around with the value of the blur radius (set to 2px in the example) and the number of text-shadows applied.

Chrome’s Network tab alerted that a client’s website was downloading Roboto from Google Fonts. The problem was that we weren’t using Roboto for this project. After some troubleshooting we discovered Roboto was being downloaded on pages displaying an embedded Google Map. Why, Google?

Thankfully, Stack Overflow has a pretty simple solution.

It took me a while to really grasp the power of WordPress’ Actions and Filters. Now I love using them and have recently discovered how they can be used to generate the correct Schema data depending on what the WordPress Loop is generating.

Read more »

The Dreamweaver blog takes a brief look at the evolution of buttons on the Internet.

Every year the Brunei Darussalam Department of Labour releases a census that all local businesses must fill in. It’s a legal requirement and every year they don’t mind reminding you of the fines for neglecting to do so.

Well this year they’re trying something new: they’re doing it online via their newly released Labour Control System. I applaud the Department of Labour for taking real action in converting actual processes into an online workflow.

Like with any new system, there are bound to be bugs. And I found a rather embarrassing oversight. When asked for my country of origin, I could not select Brunei.

Under Country of Origin, Brunei was conspicuously missing

Erm, yeah. And I had to fill in a value or it wouldn’t allow me to proceed.

This wasn’t the only issue I cam across. Initially the system could not even retrieve my Company Registration Number and simply returned the value null.

Teething problems. It happens to the best of us. I hope the Department of Labour isn’t discouraged because bugs or not this is a step in the right direction!

Edit (19th October 2015): We now have a more complete list of countries which includes Brunei!

You’ve probably heard the news already that WordPress websites are facing an XML-RPC Brute Force Amplification Attacks. But did you also know that Sucuri, iThemes and Wordfence already have you protected?

If you use Sucuri’s Website Application Firewall (WAF), the company has you covered:

Note that users of our WAF are already protected against this attack, so if you are on CloudProxy you are safe.

Similarly, the Wordfence Security Plugin has login protection that takes into account XML-RPC. Just remember to enable Login Security in the Wordfence Options.

Yes we do protect against brute force via XML-RPC and we have for some time now. We also protect against multiple attempts via a single XML-RPC call

Finally, the iThemes Security Plugin protects against XML-RPC Brute Force attacks (even the free version):

Brute Force Protection in iThemes Security just got more robust. Now when you enable Brute Force Protection this feature includes protection from XML-RPC attacks

Make sure your websites are protected!

Edit (16th October 2015): iThemes Security v5.1.0 and iThemes Security Pro v2.0.0 protect against the XML-RPC Brute Force Amplification Attacks.

New Feature: Added “Multiple Authentication Attempts per XML-RPC Request” setting to the WordPress Tweaks section. When this setting is set to “Block”, iThemes Security will block brute force login attacks against XML-RPC

Edit (15th October 2015): If you have Jetpack installed, the Protect Module also stops XML-RPC attacks.

A while back iThemes reported they had to remove VirusTotal Malware Scanning from their iThemes Security WordPress plugin. They have just announced that the plugin will now use Sucuri’s SiteCheck Malware Scanner.

While Sucuri’s SiteCheck is available in both the free and Pro versions of iThemes Security, the Pro version allows for daily automated scanning. That’s a nice add-on, if you ask me.

This is a great addition to the iThemes Security plugin. However, my websites already use the Sucuri Security WordPress Plugin which incorporates Sucuri’s SiteCheck (albeit scans have to be done manually) so this is a bit redundant for my needs. Having a different malware scanner would help cover more bases.

For alternative malware scanners, there’s always StopTheHacker. That service was StopTheHacker was acquired by CloudFlare last year so perhaps more integration is in the works.

Baymard has a write-up on Quick Views and Product List Usability. The key takeaway: Quick Views, which have become a staple for online Product Lists, often hide poor design in the Product List themselves. Almost everything the Quick View brings could just as easily be implemented in the Product List itself.

Good food for thought.

Quick Views are often symptom treatments for poor product list designs. Indeed the test subjects were only appreciative of Quick Views on test sites that had a problematic list item design.

Designmodo has a quick overview of what to expect in Bootstrap 4. My initial thoughts:

  • Moving from Less to Sass. Crap, now I gotta learn Sass and set up my development environment to support it.
  • Grid System based on ems instead of pixels. Nice.
  • Dropped support for IE8. OK, whatever…
  • Dropped Glyphicons. Uh… please announce a replacement.
  • Optional Flexbox. Yesssssss…
  • Cards as a new component. Nice.

My biggest gripe is easily having to switch to Sass. Ah well, I’ll live.

I’ve been using BlockBadQueries on all my WordPress websites for quite some time now. And I just realized BlockBadQueries Pro was released in June. The Pro version offers more minute customization options than the free version though if you just want to set-and-forget I suggest sticking with the free version.

BlockBadQueries is based on the 5G Blacklist 2013 and the 6G Beta. So you could certainly copy the rules into your .htaccess file if (assuming you’re comfortable with Apache commands & regular expressions) you want to customize the rules for free.