BLOQUEUR DE POP-UPS

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 - 24 févr. 2004 à 16:04
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006 - 16 juil. 2004 à 16:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/20726-bloqueur-de-pop-ups

Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
16 juil. 2004 à 16:46
normalement c'est remis ;)
cs_guilOooo Messages postés 53 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 19 novembre 2004
16 juin 2004 à 14:24
Heeuu..
Quand j'éssaye d'ouvrir le zip, on me dit que le dossier n'est pas valide où endommagé...
Vous pourriez me donner un lien alternatif pour le télécharger ?
Merci
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
2 mars 2004 à 23:24
je connais pas trop les reseaux car pour faire un reseau, faut plusieurs ordi et ca coute + cher qu'un seul ;-)

je pencherais pour une sorte de "host collectif", peut etre un serveur DNS ??? ca serai assez logique que IE utilise un tel serveur plutot que son propre fichier car comme ca il connais la correspondance domaine/IP de tous les sites demandes par tous les pcs du reseau

et si je me suis pas trompe .... bonne chance ;-) amoin que tu soit copain avec l'admin reseau :-D
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
2 mars 2004 à 16:56
Et voilà ! La nouvelle version est enfin dispo :)
par contre il reste quand même un point obscur...
j'ai testé l'ajout des urls dans le fichier hosts chez moi et là pas de problème par contre au boulot ça marche pas.
je suis derrière un proxy vous croyez que ça a un lien ?
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
28 févr. 2004 à 18:55
hey c'est pas juste, j'avais deja donne l'idee du fichier host avant !!!

donc ca devrais etre moi le grand maitre venere !!!

non plus ????

bof tant pis, ca me coute pas plus cher que Anacr0x d'essayer ...

:-)
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
27 févr. 2004 à 20:31
ahhhhhhhh.... content que ça marche (^_^)
Tu n'as plus qu'a m'appelé "Ô grand maître vénéré" maintenant (si si) !
Nan ? pas d'accord ? :)
bon tant pi, ca couté rien d'essayer...
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
27 févr. 2004 à 20:17
t'inquietes pas tu nous a pas embêté ;)
en plus j'ai dit des betises !!! ça marche !!! je m'y prenais mal pour tester....
ce que je faisais c'est que j'essayais une des adresses de ton fichier avec mon fichier host et je vérifiais que ça passais et ensuite je remplaçais le fichier host et sans refermer la fenetre IExplorer je faisais 'actualiser' et j'avais toujours la page qui s'affichait.
j'ai retesté et en fait ça bloque bien le chargement des pages et c'est génial, les pop-up n'apparaissent même pas !!

Anacr0x : mille excuses :( j'ai douté de ta parole... la honte sur moi pour encore 7 générations tiens pour la peine je me flagèle avec des orties fraiches (aïe ! aïe ! aïe ... ça pique) :)

bon bah il va bientot y avoir une nouvelle version je crois :)
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
27 févr. 2004 à 19:58
lol
Désolé, j'avais mal compris ta phrase (>_<)
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
27 févr. 2004 à 19:37
non, non je ne disais pas que tu critiquais la source, je trouve juste ca marrant (et tu ne nous as pas embêté)
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
27 févr. 2004 à 18:17
...
chez moi ca marche très bien.... g plus aucun popup
Mais peu être que Spybot fait autre chose qui permet ca (en tt cas, il ne tourne pas en fond, donc il ne fait pas comme le tien)

enfin, si ca ne marche vraiment pas, dsl de vous avoir embété pour rien :(
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
27 févr. 2004 à 18:07
j'ai essayé mais apparement ça ne fonctionne pas :(
par contre si je fais un ping sur le nom de domaine là il me redirige bien vers 127.0.0.1
je me demande si Spybot ne se sert pas tout simplement de ce fichier pour stocker les URLs à bannir (un peu comme le fait mon programme).
mais ça marche chez toi ??
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
27 févr. 2004 à 17:16
CyberP : je ne cherche pas à critiquer ce programme et encore moins a vous dissuader de l'utilisé. Je propose juste une solution pour qu'il soit plus performant, après tu le prend comme tu veux

En tt cas, mon fichier host est downloadable ici : http://anacr0x.free.fr/hosts.zip

après, vous décompresser et mettez le fichier dans WINDOWS/system32/drivers/etc/

PS : faites une sauvegarde de votre ancien fichier host avant de le remplacer (au cas ou...)
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
27 févr. 2004 à 16:09
CyberP : si ça peut completer le programme, je peux inclure une fonction qui renseigne le fichier host avec les adresses à banir...
mais je me demande quand même si c'est vraiment efficace parce que pour que ça fonctionne il faut qu'une fenetre s'ouvre puis qu'elle fasse une requete sur l'URL (donc c'est déja trop tard, la fenetre est déjà ouverte) et surtout si on redirige le tout vers 127.0.0.1 ça risque (comme le dit plus haut kimmelf2) d'afficher une fenetre avec un message du genre "Impossible de trouver le serveur" mais bon je demande quand même à voir...
Et comme on dit : "qui ne tente rien n'a rien !"
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
27 févr. 2004 à 15:35
C'est un comble ca, quelqu'un propose un commentaire pour éviter d'utiliser le programme !
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
27 févr. 2004 à 15:15
Anacr0x : j'ai essayé de modifier mon fichier host mais ça marche pas :(
pourrais tu m'envoyer le tien pour que je vois où je me suis planté ?
et pourrais tu me dire exactement où il doit être pour que ça marche ?
merci
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
27 févr. 2004 à 13:52
Merci Dvdmizo

je jette un oeuil
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
27 févr. 2004 à 13:37
"bloquer une adresse avec le fichier host ça doit sûrement marcher mais ça ferme pas la fenetre"
->effectivement, ca la ferme pas, ca l'empeche de s'ouvrir, tu trouve pas ça mieu ?

"et moi je suis fainéant. ;o)"
->ben justement, je te propose une solution plus simple, je ne l'ai pas testé, mais je pense qu'elle peut marché plus efficacement et sans timer ou hook global mis dans une dll... après c'est a toi de voir
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
27 févr. 2004 à 09:14
Anacr0x : bloquer une adresse avec le fichier host ça doit sûrement marcher mais ça ferme pas la fenetre et moi je suis fainéant. ;o)

DelphiCool : sinon y'a un nouveau source qui vient d'être posté pour faire un hook sur la création de fenêtre.
http://www.cppfrance.com/code.aspx?ID=20786
je vais voir si je peux adapter ça à mon prog (ça sera sûrement moins gourmant en ressources et plus rapide qu'un timer).

CyberP : J'ai aussi l'intention de tester ta méthode pour voir si ça peut être plus simple, mais je ne sais pas encore comment detecter les différentes barres...quoique j'ai ma petite idée :)
Anacr0x Messages postés 515 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 27 avril 2006 2
26 févr. 2004 à 20:46
euh... personnelement, j'ai une idée bien plus simple...
Pour moi, il suffit de bidouiller le fichier host (sous windows du moins), qui bloque tous les popups lorsqu'il est bien configuré.
En tt cas, c'est ce que fait Spybot S&D et ça marche très bien chez moi

De plus, si cette solution vout convient, ca aura l'avantage de ne devoir éxécuté le prog qu'une seule fois et d'être très peu gourmand en mémoire (aucun prog qui tourne en arrière plan)

PS : si ca vous intéresse, je peut vous passé mon fichier host pour que vous voyez la liste des adresses banies
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
26 févr. 2004 à 19:44
j'ai eu une idée : il suffit de regarder le nom de domaine de toutes les fenêtres d'internet explorer ouvertes, et si le nom de domaine d'une popup est retrouvé nulle part ailleurs, alors il faut le fermer

si on surfe sur un site et qu'une pub pour ce site apparait autre part (ce qui doit être très rare), ca ne geine pas je pense
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
26 févr. 2004 à 19:04
Salut,
avez vous des infos sur le Hook sur la création de fenêtre?
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
26 févr. 2004 à 14:36
oui c'est vrai ca pose problème ca...

peut être que internet explorer lorsqu'il créé le popup le met enfant par rapport à la page principale... je ne sais pas...

sinon on peut peut être détecter quelle fenêtre a changé de titre en dernier (cad la page commence à se charger) avant l'ouverture du popup, mais ca posera toujours problème (le hasard entre 2 pages ou bien un script qui permet de faire une petite animation au niveau du titre)
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
26 févr. 2004 à 14:27
ah ok !! je comprend mieux ce que tu veux dire :)
en fait pour le moment je vois pas trop comment savoir quelle fenetre à ouvert telle autre...
Si tu as une idée ou un exemple ils sont les bienvenus
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
26 févr. 2004 à 14:20
je répète ce que j'ai dit plus haut : (la fin du message répond à ta question)

le plus simple serait de bloquer tous les popups (sans les différentes barres donc) dont le nom de domaine de l'url n'est pas celui du site où il s'est ouvert
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
26 févr. 2004 à 14:12
pas forcément... par exemple sur certains forums lorsque tu veux voir la liste des utilisateurs inscrits (pour envoyer un message privé) il t'ouvre une fenêtre sans barre de status ni menu avec juste la barre de titre et la liste des membres dans le corps de la fenêtre, dans ce cas si tu fermes la fenetre ça risque de poser problème...
et à mon avis y'a d'autres cas similaires où ça risque de coincer.
En fait, je suis pas sûr qu'on puisse faire un filtrage purement automatique
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
26 févr. 2004 à 13:34
il suffit de détecter si la fenêtre a une barre de status, un menu, etc, on doit pouvoir détecter ca (il suffit de regarder si ca renvoie null quand on fait GetDlgItem), et si elle n'en a pas, on peut virer
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
26 févr. 2004 à 11:21
Mais si tu fais de la navigation de site en site ?
imaginons, une recherche avec google, tu cliques sur un lien, une fenetre s'ouvre avec une @ qui n'est pas celle du domaine de départ.

Comment pallier cet inconvénient ?
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
26 févr. 2004 à 10:43
le plus simple serait de bloquer tous les popups (sans les différentes barres donc) dont le nom de domaine de l'url n'est pas celui du site où il s'est ouvert
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
26 févr. 2004 à 09:47
en fait si on détecte l'url directement dans la barre d'adresses on ne lasse pas le temps à la page de se charger, ce qui est interressant si on a une connexion lente.
l'url sera déjà dans la barre d'adresse avant qu'on ait commencé le téléchargement de la page donc la fenetre sera fermée tout de suite.
ce qui n'est pas le cas si on bloqu par le titre de la fenetre (il faut attendre de recevoir au moins la balise <TITLE> de la page)
CyberP Messages postés 283 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 4 juillet 2007 2
26 févr. 2004 à 08:35
les popups sont en général composés uniquement d'une image, il faudrait donc récupérer la source du popup et voir s'il y a quelque chose hors des balises, si ce n'est pas le cas et que la fenêtre est effectivement un popup (sans les barres), alors il faudrait l'ajouter automatiquement à la liste noire... mais je ne sais pas comment récupérer la source (ce serait idiot de récupérer l'url et de retélécharger la page, car si on a une connexion lente, il faudrait attendre une dizaine de secondes jusqu'à ce que le popup se ferme)
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
25 févr. 2004 à 23:16
y'a qd meme une possibilite par l'url, c'est dans le cas des regies publicitaires.

imaginons la regie pub www.regie.com
quasiment tout le temps, les regies disposent de sous-domaines du type ad.regie.com , pub.regie.com ....

il suffit de bannir le sous-domaine comme ca la pub est eliminee

et eliminer la pub , IE (et sans doute les autres navigateurs) il sait faire !!! (il parait)

c'est une info que j'ai lu y'a quelques temps, faudrai voire si elle est exacte ... :
lors d'une requete (site, image ...) le navigateur commence par faire une requete DNS pour connaitre l'IP qui correspond au nom de domaine. Il dispose, en outre, d'une table (stockee dans un fichier sur le DD) qui contient des correspondances IP/domaine.

y'a qu'a ecrire dans ce fichier que pub.regie.com correspond a 127.0.0.1

il parais que ca permettrais de virer les popups ... perso je vois pas pourquoi ca marcherais ! a mon avis, la popup s'ouvrira et indiquera un truc genre "serveur indisponible"

m'enfin je distille l'info ;-)
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
25 févr. 2004 à 17:45
mon cher hilairenicolas je vais tenter de relever le défi ...mais pour le moment c pas gagné.
En ce moment je suis sur une piste interressante pour au récupérer les URL.
On va voir ce que ça donne ;)
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
25 févr. 2004 à 17:42
il faut utiliser Borland C++ Builder 5 pour que ça marche
le fichier 'vcl.h' contient toutes les définitions d'objets visuels (fenetres, boutons, menus déroulants, etc)
mais le gros du programme doit pouvoir être porté sur VC assez facilement je pense...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
25 févr. 2004 à 17:35
ben la VCL est une bibliothèque propriétaire de Borland/Inprise, donc avec VC tu pourras jamais compiler le prog.
cs_temoin Messages postés 59 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 30 octobre 2006 1
25 févr. 2004 à 17:22
allo vous pouvez m'aider je veux compiler ton prog avec visual c++6 ca me donne cette eurreur merci de votre aide
fatal error C1083: Cannot open include file: 'vcl.h': No such file or directory

j'ai essayer avec borland c++ 5 26 erreurs dans la compile
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
25 févr. 2004 à 15:05
Bloquer les pop-us qui ne font pas partie du domaine et qui s'ouvrent au bout de quelques secondes peut-etre ...

C'est un bon défi effectivement, tu le releves ?
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
25 févr. 2004 à 14:59
Comme tu dis : "pas si simple" :)
L'idéal serait de pouvoir combiner toutes ces possibilités en les rendant paramètrables à la demande plutot qu'un système purement automatique. je m'explique :
parfois certaines URL ne servent "qu'à" diffuser des publicités (ex : doubleclick, www.regiedepub.com, etc) donc bloquer tout le domaine ne pose pas de problème, d'autres fois le fait de bloquer un domaine pose problème, bloquer les pop-up qui s'ouvrent au bout de quelques secondes n'est pas forcement la solution des fois certains sites utilisent des pop-up pour proposer des options de navigations...
c'est compliqué mais ça peut être un bon défi pour un programmeur(et un bon utilitaire pour les utilisateurs) ;)
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
25 févr. 2004 à 14:14
Finalement, à la réflexion, je suis pas sur que ca soit si interessant de faire une liste d'url à bannir, parce que en observant un peu les pop-ups, finalement, c'est souvent un site web qui s'ouvre. et donc apres, on ne pourrait plus visiter certains sites (imaginons un pop-up pour messenger de microsoft, et hop, tu peux pu aller voir le site de microsoft)
Je pense que ce qui pourrait etre pas mal, c'est avec un hook sur création de fenetre, de voir quelle fenetre à été créee à partir d'une autre, voir dans la fenetre mere l'adresse du site quelle contient et bloquer les pop-ups dont l'adresse ne fait pas partie du domaine de l'@ mere. mais cela pose le probleme des liens vraiment proposés et pas des pops-up.

Sinon, ce qu'on pourrait envisager, c'est de faire un compteur de temps, souvent les pop-ups s'ouvrent tres rapidement apres l'ouverture de la page, et empecher seulement celles ouvertes dans un certain laps de temps de s'ouvrir.

Pas si simple finalement :))
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
25 févr. 2004 à 11:28
effectivement j'ai peut-être (sûrement même) un peu grossi la chose en disant que c'était comme un firewall... :p
par contre je cherche comment récupérer l'url dans la barre d'adresse et pour l'instant c'est plutot confus.
Si quelqu'un peu me mettre sur la voie ça serai bien sympas ;)
merci
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
25 févr. 2004 à 09:45
Je pense que tu devrais mélanger les techniques, et effectivement regarder l'url et la comparer à une liste d'url "à bannir" est une bonne idée, mais ca n'a rien d'un firewall...
:)
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
25 févr. 2004 à 08:42
Je ne suis pas sûr que le format des fenetres soit un bon critère... les pop-ups n'ont pas toujours la même taille :(
je crois plutot que l'idéal serait de pouvoir récuperer l'adresse http d'où vient la pub (ça serait plus efficace) mais là ça reviendrait presque à refaire un firewall... quelqu'un aurait une piste ? comment je pourrais faire ça ?
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
25 févr. 2004 à 02:13
l'ennui avec les hook c'est que tu dois obligatoirement les placer dans une dll, et ça c'est pas très amusant si vous voulez mon avis :-(

pour ce qui est de l'apprentissage, tu peux déjà essayer de voir les formats des popups de pub, souvent les banderoles ont une taille normalisée, ça devrait pouvoir se repérer.
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
24 févr. 2004 à 17:55
Je ne sais pas justement si c'est plus lourd ou pas, c'est pour ca que je te demandais les raisons de ton choix pour le timer.

pour des exemples de hook sur création de fenetre, je crois bien en avoir vu passer sur le site, jette un coup d'oeil
Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
24 févr. 2004 à 17:01
j'avoue, j'ai choisi la solution de facilité en utilisant un timer ;)
mais en fait je voulais que ça soit opérationnel rapidement...
l'idée de faire un hook sur a création de fenêtres serait une bonne idée (c'est sûr que ça serait moins lourd) mais je maitrise pas bien.
si tu avais un exemple, ça pourrait m'aider :)
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
24 févr. 2004 à 16:04
Qu'est-ce qui est le plus intéressant,
un timer qui énumere les fenetres ou un hook sur la création de fenetres ?

sinon, le principe est bien.

Amélioration ? un truc automatique bien sur, qui pourrait se baser sur le contenu html de la page, avec un apprentissage pourquoi pas ; et apres tu le vends :)
Rejoignez-nous