Terry J. Reedy <tjre...@udel.edu> added the comment:

To expand on Marc-Andre's point 1: the DOS attack on web servers is possible 
because servers are generally dumb at the first stage. Upon receiving a post 
request, all key=value pairs are mindlessly packaged into a hash table that is 
then passed on to a page handler that typically ignores the invalid keys.

However, most pages do not need any key,value pairs and forms that do have a 
pre-defined set of expected and recognized keys. If there were a possibly empty 
set of keys associated with each page, and the set were checked against posted 
keys, then a DOS post with thousands of effectively random keys could quickly 
(in O(1) time) be rejected as erroneous.

In Python, the same effect could be accomplished by associating a class with 
slots with each page and having the server create an instance of the class. 
Attempts to create an undefined attribute would then raise an exception. Either 
way, checking input data for face validity before processing it in a 
time-consuming way is one possible solution for nearly all web pages and at 
least some other applications.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13703>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to