7 ms·
I don't think it's about security. For example I've got a link to do delegated login like /login-with/github. When people click it an oauth flow will start. Bu
by hdhzy 10y ago
I don't think it's about security.
For example I've got a link to do delegated login like /login-with/github. When people click it an oauth flow will start. But it is useless for robots to follow so I disallow it in robots.txt. If they still follow nothing breaks and it's not a security issue but if I can avoid starting unnecessary oauth logins it's an additional benefit.
- laumars 10y agorobots.txt wasn't created for security but it can have security implications if you publish a list of Disallow paths with the intention of hiding sensitive content (sadly I have that seen that happen a lot) where as a better approach would be IP whitelisting and/or user authentication. However I'm not claiming security is the only reason people use (misuse?) robots.txt. For example in your case you could mitigate your need for a robots.txt with a nofollow attribute[1]. Sure bad bots could still crawl your site and find the authentication URL without probing robots.txt so the security implications there is pretty much non-existent. But you've already got a thoughtful design (the other point I raised) that mitigates the need for robots.txt anyway so adding something like "nofollow" maybe enough to remove the robots.txt requirement altogether. [1] https://en.wikipedia.org/wiki/Nofollow https://en.wikipedia.org/wiki/Nofollow
- dchest 10y agoThis is crazy, that's not what robots.txt is for. How can you complain about the security of a thing that is not meant to provide security? According to your logic, newspapers are a "failed experiment because they rely on trust rather than security or thoughtful design". I published an article with my treasure map and told people not to go there, but they stole it.
- laumars 10y agoThat was an anecdote since the previous poster raised the point about security. I'm definitely not claiming robots.txt should be for security nor was designed for security! I said following proper security and design practices renders obsolete all the edge cases that people might use robots.txt. I'm saying if you design your site properly then you shouldn't really need a robots.txt. That applies for all examples that HN commentators have raised in terms of their robots.txt usage thus far. I would rewrite my OP to make my point clearer but sadly I no longer have the option to edit it.
- dchest 10y agodesign your site properly then you shouldn't really need a robots.txt But how? For example, if you don't want a page to be indexed by Google, you add this information to robots.txt. Nofollow doesn't work for every case, because any external website can link to it, and Google will discover it.
- laumars 10y agoThat's a good point. I'm not sure how you'd get around non-HTML documents (eg PDFs) but web pages themselves can be excluded via a meta tag: <meta name="robots" content="noindex"> Source: https://support.google.com/webmasters/answer/93710?hl=en https://support.google.com/webmasters/answer/93710?hl=en Interestingly in that article, there is the following disclaimer about not using robots.txt for your example: "Important! For the noindex meta tag to be effective, the page must not be blocked by a robots.txt file. If the page is blocked by a robots.txt file, the crawler will never see the noindex tag, and the page can still appear in search results, for example if other pages link to it." I must admit even I hadn't realised that could happen and I was critical of the use robots.txt to begin with.
- dchest 10y agoAh, that's true, indeed. The page, though, will appear as a link without any contents, because the bot won't be able to index it.
- laumars 9y agoExcept it has indexed it. It just hasn't crawled it. But content or not, the aim you were trying to achieve (namely your content not being indexed) has failed. Thus you are then once again dependant on other countermeasures that render the robots.txt irrelevant.
- hdhzy 10y agoFor PDF you can use X-Robots-Tag HTTP header [0]. Nofollow is a good suggestion of you control links to the resource, robots of you don't. [0]: https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag https://developers.google.com/webmasters/control-crawl-index...
- bigbugbag 10y ago> robots.txt wasn't created for security but it can have security implications if you publish a list of Disallow paths with the intention of hiding sensitive content Using robots.txt to secure your server from bots is the equivalent of attempting to secure your house from robbery by planting a sign that says "please,don't rob my house". Surprisingly it may works from time to time, by if you're into attempting security by wishful thinking maybe don't be too surprised when it fails about as much as security by chance.
- laumars 10y agoI know. With the greatest of respect your counter argument is literally just reiterating the point I was making. Albeit in the quote you've left off the part of my post where I said it's stupid to use robots.txt in this way.
- hdhzy 10y agoNote that links marked with Nofollow can still be followed by well-behaving bots: https://en.wikipedia.org/wiki/Nofollow#Interpretation_by_the_individual_search_engines https://en.wikipedia.org/wiki/Nofollow#Interpretation_by_the...