On 30 Jul 2011, at 20:10, Les Mikesell wrote:

> On 7/30/11 1:14 PM, Jeremy Pereira wrote:
>> 
>> On 30 Jul 2011, at 18:17, Les Mikesell wrote:
>> 
>>> 
>>> '403 forbidden' makes reasonable sense for a client-side message to someone 
>>> who shouldn't know internal details anyway.
>> 
>> Seriously?  You think an HTTP response code (which *is* an internal detail) 
>> is an acceptable error message.  You think it makes sense?  Why is 403 
>> forbidden?  Oh, right, that's just a code.  Ok what is forbidden?  Is it me? 
>>  the repository? writing to the repository?  writing to a particular file?  
>> Why is it forbidden?  Is it because it is Tuesday? WHY???!!!!
>> 
>> It's a useless error message. It's even pretty useless to the average person 
>> when they are trying to use a browser to access a URL.
> 
> From a security perspective it is a bad idea to tell a network client that is 
> doing something you have explicitly denied any of the details of how the 
> system is configured to prevent it.  Working correctly is usually a yes or no 
> question and this answer is clearly 'no'.
> 

From a software-that-is-not-a-complete-pig-to-use point of view, this is 
nonsense.  If I'm a user trying to check something in to subversion, "403 
forbidden" is useless.  I don't know if I've got to the wrong server, mistyped 
a URL or don't have access rights.  If you think the error message "you do not 
have permission to commit to $URL_THATS_EASY_TO_FIND_IN_THE_WORKING_COPY" is a 
security risk, you need to think again about what security is.


>>> Is something better in the apache error log where the sysadmin who set it 
>>> up wrong should be looking?
>> 
>> Except that the administrator might not have set up the repository wrong.  
>> He might have made it deliberately read only.  Users should not have to 
>> trawl Apache logs to find out that they are not allowed to commit to a 
>> repository.
> 
> Right, if the system is intentionally set up for read-only access, the user 
> should not get a hint about how to work around it, and it won't do them any 
> particular good to know if it is denied in the http config, the authorization 
> setup, or the filesystem.   Really, what do you need to know as an end user 
> besides that your commit was denied?

Telling somebody that they only have read access to a repository is not giving 
them a hint about how to work around it.  "403 forbidden" is not telling 
somebody that they only have read access to a repository (or part of a 
repository).  It's telling them that a web server somewhere doesn't like them.  
"What a web server?  I thought I was using subversion" says the user.

Reply via email to