-
webservices et webcawler
Bonjour, une petite question.
J'utilise des webservices dans mon site web et je recois parfois des messages d'erreurs car un robot essaye d'acceder directement aux services web, sans avoir de parametre.
Existe t'il un moyen de ne plus avoir d'erreur quand ce genre de chose se produit ?
-
1/ Surcharger toutes tes méthodes de WebService pour qu'elles puissent être appelées sans paramètre, et qui envoient un "wtf ?" comme réponse.
2/ Utiliser un robots.txt à la racine du serveur
3/ Filtrer les logs avant de les analyser
La 2 est absolument inutile si les robots qui "attaquent" ne sont pas des robots de google, yahoo, etc. puisque souvent les robots sont des trojans qui cherchent à rentrer, et qui donc vont s'empresser d'aller à l'encontre des directives de ton robots.txt.
La 1 est radicale, mais les consommateurs de ton WebService vont bien se demander ce que c'est que toutes ces nouvelles méthodes qui ont fleuries pendant la nuit... et qui ne font pas ce qu'ils veulent.
Reste la solution 3 me semble donc la plus viable :)
-
Merci beaucoup de tes propositions. C'est un robot japonnais qui m'attaque!!
parcontre comment peux tu filtrer les logs car le robot ne se logue pas, il arrive directement sur le service web et quand j'essaye de debogguer, l'erreur arrive avant que je rentre dans la fonction
-
Moi je parlais des logs de l'application : virer les erreurs générées par le robot pour lire des données sans bruit dans le log.
Sinon, pour éviter le plantage sauvage, essaie de voir si tu peux reconnaître que c'est un robot à l'aide du useragent notamment.
Mais attention tout de même : les vers qui tentent de rechercher des failles se font généralement passer pour un navigateur valide, voir même utilisent le navigateur de la personne infectée. Donc le useragent seul n'est pas fiable.
Tu peux aussi tenter de loguer les IP et blacklister celles qui provoquent trop souvent des plantages.
-
Ok, je vais voir ce que je peux trouver, je pensais juste qu'avec un bout de code c'etait bon mais á priori cela ne suffit pas. Dommage.
Merci de ton aide
-
Sinon es ce qu'il est possible de rediriger toutes les mauvaise URL vers une méthode précise ?
Tous les URL qui ne sont pas exacte, tu les rediriges vers une "Bad Method" qui soit ne fait rien, soit quelques choses :)
Tu pourrais faire un retour à l'envoyeur comme ça ...