8791 sujets

Développement web côté serveur, CMS

Bonjour,
je cherche un moyen pour bloquer les fonctions, comme file_get_contents.
le but est d'empêcher certains robots de récupérer le contenu d'une page web.
J'ai cherché sur le net, mais j'ai rien trouvé, si vous avez une idée, n'hésitez pas.
Merci
Modérateur
Bonjour,

Victor, itchi va nous le confirmer, mais je crois qu'il veut protéger une page de son site contre les robots extérieurs qui utiliseraient file_get_contents pour récupérer son contenu.

Ce n'est pas possible de façon efficace et sans nuire aux utilisateurs légitimes.
Tony Monast a écrit :

il veut protéger une page de son site contre les robots extérieurs qui utiliseraient file_get_contents pour récupérer son contenu

exact !

Tony Monast a écrit :

Ce n'est pas possible de façon efficace et sans nuire aux utilisateurs légitimes.

Pourtant j'ai déjà croisé des sites qui arrivent à ignorer un file_get_contents venu de l'extérieur, sans aucun impact sur les utilisateurs. Est-ce que c'est possible de contourner cet obstacle ?
La solution que je vois serait d'analyser l'entête de la requête pour contrôler que l'IP client est autorisée (IP du serveur par exemple).
Tu peux effectuer ce contrôle en PHP ou dans ton htaccess via le mod_rewrite.
moust, je ne vois pas l’intérêt de contrôler l'IP des clients Smiley ohwell , je cherche juste à bloquer les file_get_contents, fopen, curl....
Modérateur
itchi_778 a écrit :

Pourtant j'ai déjà croisé des sites qui arrivent à ignorer un file_get_contents venu de l'extérieur, sans aucun impact sur les utilisateurs. Est-ce que c'est possible de contourner cet obstacle ?


Avec un langage côté serveur, il est très facile de faire une requête HTTP classique qui simule celle d'un utilisateur légitime (referer, cookies, entêtes, etc.). Je ne vois pas comment un script pourrait faire la différence.
Tony Monast a écrit :

Je ne vois pas comment un script pourrait faire la différence.

tu as raison, le curl est redoutable, je laisse tomber Smiley lol
en tout cas merci pour tout