en effet la protection est surtout au niveau des navigateurs qui préfèrent refuser ce genre de manipulation ! mais rien ne t'empecherai de créer une application téléchargeable par tes visiteurs ou sur ton serveur qui elle récupérerait le DOM d'une page à l'aide une simple requête GET.
il existe néanmoins certains sites web/serveur qui vérifient la source de la requêtes (par exemple ils attendent un header valide provenant d'un navigateur connu.) mais encore une fois, rien n'empêche de simuler ce navigateur dans tes requêtes.
en conclusion, il est toujours possible de faire ce qu'on veut, mais ces règles des navigateurs nous évitent sans doute bon nombres de hackers à la petite semaine.
pour injecter du JS(et donc manipuler le DOM) dans un site de manière "légale" au yeux du navigateur c'est de passer par les favoris, un des moyen les plus simple qu'utilise(ait?) facebook par exemple !
en gros l'idée est qu'en tapant "javascript:instructions..." dans la barre d'adresse, tu peux rajouter du JS sur une page. Il suffit donc de faire un attach de ton script qui ira manipuler son DOM et son CSS.
En gros sur ton site à toi, tu laisses l'user choisir les options de styles qu'il voudra avoir, selon ses choix tu personnalise un fichier js. Tu lui fournis un bouton qui rajoute automatiquement un favori qui contient
javascript:var h=document.getElementsByTagName('head')[0],s=document.createElement('script');s.src='url_de_mon_script_pirate.js';h.insertBefore(s,h);
une fois que ton visiteurs aura choisi sa personnalisation sur ton site et généré le fichier JS ainsi que rajouté son favori, il n'aura plus qu'a se rendre sur le site victime en question en mode "normal". en ensuite cliquer sur son favori de personnalisation pour charger la personnalisation.
c'est tordu comme méthode ... facebook l'utilise (ait?) pour créer un favori "j'aime/partager ce site" ou un truc du genre ! ;-)
exemple de code :
1 2
|
javascript:alert(document.getElementsByTagName('title')[0].innerHTML); |
par contre je ne trouve plus comment créer un bouton "addtofavorite" ^^
Partager