Hi!

>> Taint is blacklisting.
>>  
> Last time I checked marking all user input as tainted and requiring
> "untainting" before usage in sensitive functions is whitelisting and not
> blacklisting.

I would say it's neither - whitelisting is an explicit check (or fixing,
to ensure) that the input matches certain conditions (blacklisting is
the same but "does not match") - but taint actually doesn't do that. All
it does is ensure you did *some* data fixing - it can't really ensure
*what* you did, what were the results of the fixing and if the fixing
you employed match the security context in which you are using the data.
So taint does only the half of the work of either blacklist or whitelist
- it ensures you didn't forget to do _something_, where something could
be white-list. Or be something useless at all. That's the main thing one
needs to remember when using taint - it doesn't do any work, it just
reminds you to do work, and you still have to ensure the work is right.
-- 
Stas Malyshev
smalys...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to