Geek Life....

photography, programming, site design, networking, computers, linux, windows, mac os x, application reviews...

Dec

19

Has your work been affected by the recent Wikileaks fallout?

, , , , ,

Wikileaks stumbled on to the world stage earlier this year with the release of thousands of internal cables belonging to the US Government.  Since then, the story has exploded full force into what could very well be mistaken for a new Tom Clancy novel.

Fallout from Julian Assange’s being taken into custody resulted in the Internet backlash, and highly organized Distributed Denial of Service attacks against corporate entities which chose not to support Wikileaks.  As a result, Visa, Mastercard, and Paypal service were all affected.

Has your work been affected by this.

Last week we discovered a recent problem with a site I build by hand.  It is a full online catalog with a UPS shipping system and Paypal checkout system.  After receiving an email from a purchaser the vendor passed it to the development team to try to discover what happened.

As it turns out, the web server logs show that the two users whom were double billed were:

  1. on the site during the same day
  2. both had tried to check out three or four times

Now, being a bit experienced in transaction-based systems, I developed the back end to expire the page immediately and revert to the home page after a successful sale.  This page records the successful paypal result, writes the invoice in both HTML and PDF versions, and notifies the client and vendor of the transaction so that goods may be shipped.  This page was designed to ensure that it can only ever display once per successful transaction.

So what went wrong?

Well.  Turns out that these transactions took place December 5th.  On this day, Paypal was under considerable stress from the Wikileaks related DDOS attack and thus the site was painfully slow.  There are two steps during the Paypal Express Checkout procedure which requires the user flipping between the vendor site and the Paypal API system.  Two points of failure.  My code was designed to kill a session should a user try to refresh a page in such a position as to resend the transaction requests.  This should have killed any chance that a duplicate should ever take place right?

Wrong.  The problem is that once I send confirmation to the PayPal API, they record the transaction on their side and they DO NOT confirm whether or not they were able to send back final confirmation to the vendor site.  This means that although the transaction took place, the vendor site sat waiting for a response so it could generate the invoice and finalize the sale, a response that never came in a timely manner thus prompting the users to re-checkout after a few minutes.

Personally, I would have their API kill the transaction if their success code back to the vendor never reaches its destination… but that’s just me.  There really is no way to fix this from our side, however I can add some bells that correlate calls to the API with return codes from the API so as to determine if they are ever odd.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Send Gmail Post to LinkedIn Post to Reddit Post to Slashdot Post to StumbleUpon Post to Technorati

one comment - read more

Oct

17

Evil Google and Bad Programming.

, , , , , , , , , , ,

Okay so this post isn’t exactly about Google being Evil as much as it is about bad programming habits.  This is about how a programming error led to Google automated systems being a little mischievous.

A couple of weeks ago I was asked to look into a problem where a site’s database would empty every so often.  The products and news would have to be re-entered.  This problem brought to light several items that I thought were noteworthy for a post.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Send Gmail Post to LinkedIn Post to Reddit Post to Slashdot Post to StumbleUpon Post to Technorati

2 comments - read more

Jun

13

Browser Compatibilty. It’s a sorry state of affairs.

, ,

Browser Compatibility.  Or Not.

Browser Compatibility has come a long way in the past couple of years.  That being said,  still we find web developers hacking site code to produce acceptably similar results across the playing field.

Recently, most browsers are starting to really kick into high gear with the all new HTML5 and CSS3 support.  This is a good thing.  What isn’t so cool though is that once again, Internet Explorer and Microsoft in general have thrown a monkey wrench into what should have been next years end to cross-browser compatibility woe’s.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Send Gmail Post to LinkedIn Post to Reddit Post to Slashdot Post to StumbleUpon Post to Technorati

no comments yet - read more