I'm sure it's understood to most of us on the list that no one thing can ensure security, and that security is a process not a technology or product. And I am sure that most of us on this list are aware of the idea of "point of diminishing returns". For those who don't it means that the time/money one spends to secure something begins to exceed the value of the thing being protected.
Of course good design up front helps us quite a bit with ensuring the security of our applications. But for many reasons, we inherit applications that must be maintained that did not have good planning in place at the time. Or else the assumptions on the project design when that project was started are no longer true. That means that we are faced with doing a cost/benefit analysis as to whether to rebuild, change or kill an application that needs new features/functions in order to continue to be relevant. We have to advise our clients as what is the best way to go, and we have to be (at least) mostly right. As we see, <@USERREFERENCEARGUMENT> by itself is very fallible. Cookies, for the browsers that support them, are better. Caching proxy servers can a bad thing. NAT changes the relative structure of the Internet. People don't want to have to remember logins for every site that they might ever visit. And yet in spite of these limitations, and others, we have to build secure and reliable applications in a timely and inexpensive manor. Tango/Witango helps us with this, but at the end of the day it is still a tool. We, the developers, are the masters. And so we exchange our thoughts here on this list in order that we all become wiser. Eric, I don't know what your budget or timeline or requirements are, and I don't know how the current code is structured. Therefore I cannot recommend the one strategy that will be best for you. I can tell you that you've received many good ideas on the list so far. In fact I may use one or two of these ideas myself in future projects. My point is that no "one" thing is likely to work, especially now. You are most likely going to need a combinations of approaches to address not only the current situation of session hijacking, but to address future potential outbreaks as well. I agree that it is prudent to re-direct users coming into your site with the known userreference argument so that they can get their own userreference number. And I agree that it is not too much to ask that users use a browser that use session Cookies. Perhaps it was a few years ago, but these assumptions change over time. And I think that it is worthwhile to build a cookie test into each application file; you may instead design the application to simply fail if there is no support for session Cookies. I don't know what the "right" answer or answers for are is/are, but I do know that you shouldn't need to make the thing unusable to be secure enough. I have to get back to work now... Anthony - -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of David Shelley Sent: Thursday, September 12, 2002 1:57 PM To: Multiple recipients of list witango-talk Subject: RE: Witango-Talk: Preventing Session hijacking If you're running a secure application it's a good idea to check the referer on every hit, and if it's not from your site, then purge the user scope and call your login method. This helps to prevent people from hacking your forms and changing values. If your application is structured to use a main taf or tml file, or uses a common initialization method, then your code needs to be in one place only. This won't guarantee security by itself however as a good hacker can spoof a referer. Dave. ________________________________________________________________________ TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] with unsubscribe witango-talk in the message body