Rails vite fait : empêcher les bots de créer des sessions
By jul on Friday, April 6 2007, 17:07 - Permalink
Quand le traffic d'un site augmente; il y a fort à parier que googlebot, msnbot et d'autres viennent y jeter un coup d'oeil. Le problème est que ces bots ne connaissent pas les cookies, et font générer une nouvelle session à rails à chacune de leurs visites. Ce qui peut vite devenir un cauchemar pour le répertoire tmp/sessions.
Pour éviter cela, on peut empêcher les bots de créer une session, il suffit de déterminer si le visiteur est un bot et de désactiver les sessions. Dans le contrôleur :
session :off,
:if => Proc.new { |request| request.user_agent =~ /(Baidu|Gigabot|Googlebot|Exabot|QihooBot|crawler|Crawler|Spider|Nutch|psbot|Seekbot|MJ12bot|IRLbot|libwww-perl|lwp-trivial|msnbot|SiteUptime|Slurp|WordPress|ZIBB|ZyBorg)/i }
Il s'agit bien sur d'une liste non exhaustive des bots existants. Vous pouvez en trouver d'autres en étudiant un peu les logs de votre site.
Source (en) : http://gurge.com/blog/2007/01/08/turn-off-rails-sessions-for-robots/
Comments
This post's comments feed