Skip to content

Weblog About Jim Jim's Resume Discussion Mailing List Search
  You are not logged in Link icon Log in Link icon Join
You are here: Don't link to pages inside the Apple Store

This Thread
Twitter Updates
Pro Services

Jim Roepcke specializes in iPhone and Cocoa (Objective-C), WebObjects (Java), and Python.

  • consultation
  • development
  • documentation
  • mentoring

Contact Jim for more information.

Python Tutorial

I presented the Introduction to Python for Plone developers tutorial at the first Plone conference in October 2003. Slides and Video are available to all on the plone.org site.

Badges

Proud Member of the ACM

Proud Member of the Association for Computing Machinery

RSS reader for Mac OS X

NetNewsWire: More news, less junk. Faster

Fantasy Trading of HBWT at:

Listed on BlogShares

Design by:

Powered by Plone
Blog Directory - Blogged
Log in
Name

Password

 
I forgot my password; please send me a new one.
 
 

Don't link to pages inside the Apple Store

Message Details
Posted
2/10/2001; 2:41 PM by Jim Roepcke
Last Modified
2/12/2001; 1:34 AM by Jim Roepcke
In Response To
(#Top of Thread.)
Label
Computers-Web
Read Count
636
Message Body
I've seen a couple people link to pages on the Apple Store recently.

This is a really, really bad idea. Before I explain why, I should say that the Apple Store itself is probably safe, but I haven't completely verified it. But I want to scare you for your own good.

Here's one of the URLs:

http:/ /store.apple.com/1-800-MY-APPLE /WebObjects/AppleStore.woa/72/ wo/ZLyXr0ISFZLzDgGds3 /2.3.0.3.28.9.2.3.3.0.3.1.1.0?74,47

You might look at that URL and think that it's pointing to a particular page on the store, and that if you clicked on it 2 months from now, it would take you back to the same place (assuming the Store wasn't changed between now and then).

But you'd be wrong. Click on it, you'll get a session timeout page.

Let's examine each part of the URL after the "WebObjects" part:

AppleStore.woa:

You're surfing the Apple Store WebObjects Application. (WOA)

72:

This is the "instance number", meaning, which instance of the AppleStore application that's running on the server that your session belongs to. By default, a session is tied to the instance it was created on. Apple is running a LOT of instances of AppleStore.woa on its WO server farm. At least 72. :-)

wo:

IIRC, this signals to WO that the rest of the URL describes a "component action". If it was "wa" it would have signaled a direct action.

ZLyXr0ISFZLzDgGds3:

This is the, no, let's say your session id. By default, WebObjects stores the session id in the URL. It can also store it in a cookie, but that's not how the WO App is configured.

2.3.0.3.28.9.2.3.3.0.3.1.1.0:

These are element ids and the context id. They essentially are the path that you've followed through the app since your session started. It enables WebObjects to find the right cached component object on the server to process the most recent request.

?74,47:

The last request was a result of clicking on an image with a server-side image map. The 74,47 are the coordinates that were clicked.

Now, why is it bad to post this link on your weblog? Because the sessionid is the key to finding YOUR shopping cart on the server. The session persists on the server until it expires, which is 1 hour, by default.

I'm going to give the Apple Store the benefit of the doubt on this, it makes you sign in to continue,which, unless Apple's developers are sleeping behind the wheel (they're not, they're awesome), is stored in a cookie on the client. Therefore, if the URL is loaded on another computer, you MIGHT be able to see the other persons cart, but you wouldn't be able to check out because the sign-in cookie isn't on the other computer... and presumably the password is hard to guess.

BUT, maybe the Apple Store is poorly written... and almost certainly there's going to be a WO shopping cart out there that is, just as there have been insecure e-commerce systems written using just about every tool in existence.

By linking to a page in the Apple Store with your session id in it, before the session expires, you're giving them access to your cart, and if you're unlucky, your credit card. If you have 1-click buying turned on, you're fucked, meladdie. (if the Store was poorly designed)

So, public service message... if you see a WebObjects URL with a sessionId in it, don't put a link to it on your weblog.

Replies
RE: Don't link to pages inside the Apple Store ( 2/10/2001 by Dan Budiac )
Whoops! I just did this earlier this morning. I poked around a little, and

Re: Don't link to pages inside the Apple Store ( 2/10/2001 by Mark Morgan )
This whole thing of storing variables in the URL--I have to say, that annoys


July 2009
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Jun Aug
 
Sponsors
Research

Jim Roepcke is Willing to Fail

Books

I'm currently reading:

I'm currently reading Programming Erlang

I co-authored:

I co-authored this book