Un script pour "nettoyer" une page web (javascript)

Répondre
Partager Rechercher
Bonjour à tous,
Je connais *vaguement* le Javascript, je cherche à m'y interesser un peu plus.

Je cherche un code qui me permettrais de nettoyer une page!

En gros, immaginons ma page a.html :

<a href='/test' target='_blank'>lien</a>

Immagineons que je veuille supprimer tout contenu répondant aux normes suivantes :
=
target


J'insere le code javascript dans la page a.html.
Maintenant quand j'ouvre la page, le contenu affiché est

<a href'test' '_blank'>lien</a>

Si possible il faudrait pouvoir utiliser des expressions regulieres pour la recherche (mais pas necessairement) du genre <a %nimporte quoi%> ca attraperais le <a href='/test' target='_blank'> entier.

Merci d'avance pour les personnes qui m'aideront http://www.editeurjavascript.com/forum/images/smiles/icon_smile.gif
Je ne comprends pas bien ce que tu veux faire mais tu peux utiliser les expressions régulières en javascript et tout le contenu visuel d'une page peut être lu et modifié via document.body.innerHTML mais ce dernier ne fait pas partie des normes et n'est sans doute pas supporté par certains navigateurs.

Si tu pouvais nous en dire plus sur ce que tu veux faire exactement car j'ai bien peur que les informations ci-dessus ne t'orientent vers le côté obscur du JScript
si j'ai vaguement compris tu veux faire des pages "compréssé", disons réduites, qui ne contiennent pas toutes les informations (dans ton exemple une page qui n'aurais pas les target et les = en gros) et les ajouter en javascript plus tard, lors de l'affichage ?

Si je puis me permettre c'est une idée très bizarre, pour ne pas dire inutile. Mais bon. Il y a de bien meilleur façon de faire du javascript, et plus utile.

Ceci dit, tu peut effectivement utiliser les expression régulière en javascript.
Citation :
Publié par Pouype / Elrick
si j'ai vaguement compris tu veux faire des pages "compréssé", disons réduites, qui ne contiennent pas toutes les informations (dans ton exemple une page qui n'aurais pas les target et les = en gros) et les ajouter en javascript plus tard, lors de l'affichage ?

Si je puis me permettre c'est une idée très bizarre, pour ne pas dire inutile. Mais bon. Il y a de bien meilleur façon de faire du javascript, et plus utile.

Ceci dit, tu peut effectivement utiliser les expression régulière en javascript.
Il peut très bien faire ça en php/asp si son serveur le permet...
Merci pour vos réponses ,)
Alors en fait je vais vous expliquer vaguement l'histoire :

Je joue à ogame et actuellement une vague de vol de comptes est en train d'avoir lieu. Je connais deux failles qui permettent de voler un compte, et utiliser un skin qui contiens un .js (et qui fait ce que je demandais) permettrais d'eviter les deux failles que je connais (et surement d'autres).

Je ne peut pas dire exactement ce que je veut enlever de la page malheuresement car ca donnerais des pistes sur les failles et déjà qu'il y a quelques petits cons qui s'en servent pour voler des comptes autant limiter la casse.

Donc en gros, il faudrait que le code javascript enleve certaines choses de la page, choses que j'aurais définies auparevant comme " pas bien " dans un tableau par exemple. Ensuite le script lors de l'affichage de la page s'occupe de virer le code (il ne faut meme pas que le code soit affiché l'espace d'une seconde sur le naviguateur du client, il faut nettoyer en direct!).

J'espere avoir mieux explicité la chose

edit :

J'ajouterais que si possible, il faudrait que le script convertisse les %xx en caractere pour eviter que des petits malins passent le script en utilisant le code hex :s
Impossible de désactiver le JS d'un client rien qu'avec des lignes de codes (enfin je crois)!

" Parce que combler des failles de sécurité coté client c'est pas super efficace quand même"

Bah oui on sait bien mais les développeurs du jeu s'en foutent royalement donc bon on est obligé de s'y coller nous mêmes
Citation :
Publié par - Sarga | Cain -
Et si les petits malins en question désactivent JS ?
Parce que combler des failles de sécurité coté client c'est pas super efficace quand même
Bah de toute façon il ne pourra pas les corriger côté serveur donc même si c'est précaire, c'est mieux que rien
Utilise dont PHP, ce script permet de remplacer une chaîne de caractère par une autre dans plusieurs fichiers, récursivement. Adapte le à tes besoins.

Code PHP:

<?php 

// Répertoire racine du scan (au format UNIX même sous Windows) 
$root_dir "d:/web"

// Extensions des fichiers concernés par le remplacement 
$ext = array('php''php3''inc'); 

// Chaine à chercher 
$find 'toto'

// Chaine à remplacer 
$replace 'tata'

// Si tu mets true, les fichiers originaux modifiés seront copiés avec l'extension .bak 
$backup false


//Fonction qui scan un répertoire et ses sous-répertoires et modifie les fichiers concernés 
//si la chaîne est trouvée 

function scan_dir($path$find$replace$backup false) { 
    global 
$change$ext$backup

    if(
false !== $dp opendir($path))) { 
        
clearstatcache(); 
        while(
$file readdir($dp)) { 
            
$f $path '/' $file
            if(
$file != '.' and $file != '..' and $f != $_SERVER['SCRIPT_FILENAME']) { 
                if(
is_dir($f)) { 
                    
scan_dir($f$find$replace$backup); 
                } else { 
                    
$info_file pathinfo($f); 
                    foreach(
$ext as $extension) { 
                        if(isset(
$info_file['extension']) and === strcmp($extension$info_file['extension'])) { 
                            
$old_content file_get_contents($f); 

                            
$new_content str_replace($find$replace$old_content); 

                            if(
strcmp($old_content$new_content)) { 
                                
$change true

                                if(
$backup) { 
                                    
rename($f$f '.bak'); 
                                } 

                                if(
false !== ($fp fopen($f'w'))) { 
                                    
fwrite($fp$new_content); 
                                    
fclose($fp); 
                                } 
                                echo 
'<li>' $f '</li>'
                            } 
                            break; 
                        } 
                    } 
                } 
            } 
        } 
        
closedir($dp); 
    } 
    return; 


//Présentation des résultats 
echo '<h2><u>Résultat du traitement : </u></h2>'
echo 
'<h4>Chaine à rechercher : '$find
echo 
'<h4>Chaine à remplacer  : '$new'</h4>'
echo 
'<h4>Liste des fichiers modifiées : </h4>'
echo 
'<h5><ul>'

//On scan le répertoire et ses sous-répertoires 
$change false
scan_dir($root_dir$find$replace$backup); 

if(!
$change) { 
     echo 
'<li>Aucun fichier mis à jour !</li>'

echo 
'</ul></h5>'

?>
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés