Je sais qu'il existe plusieurs outils qui sont capables d'obscurcir des fichiers javascript tels que en tournant une simple fonction comme: dans p> Ma question est de savoir que ceci existe pour une utilisation avec CSS / HTML (ou existe-t-il un outil qui a un effet similaire)? En particulier, un outil miniatif / obscurcissant qui renomme réellement les variables et les références et élimine des espaces blancs supplémentaires, etc. p> et, le cas échéant, les avantages de la performance l'emportent sur la lisibilité de la CSS / HTML / JavaScript / Obfuscation? P> p>
8 Réponses :
Il est très difficile de «minifier» HTML ou CSS, car tout ce qui peut être sauvegardé en toute sécurité est un espace blanc (qui ne constitue pas une économie énorme). En ce qui concerne le renommage de la classe, vous perdez une partie importante du Web qui a un code sémantique (qui représente la signification). Je pense que la meilleure option est de vous assurer que vous disposez de la compression GZIP activée sur votre serveur Web et de vous concentrer sur la combinaison de vos actifs dans un seul fichier dans la mesure du possible. P>
Merci Kevin - Je me demandais simplement s'il y avait des outils là-bas pour aider à effectuer une tâche comme celle-là (obtenez l'obscurci d'un fichier CSS puis de passer et de changer le HTML actuel en conséquence), car je suis sûr que certains des concepteurs anaux là-bas n'iraient pas t veux une chance à leur travail "réutilisé".
Tout «développeur Web» qui croit que leur travail devrait être en sécurité de la réutilisation est indigne du titre.
+1 pour votre commentaire Zzzzbov. :)
@Rionmonster, @zzzzbov: Mais comment tout travail de conception Web pas i> être réutilisable? Là a B> un lien entre éléments, noms de classe, ID code> S et les règles de style CSS. Compte tenu de ce lien a i> pour être là, cela n'a peu d'importance à quel point vous, ou "ils" obscurcissent les noms de classe. Cela pourrait rendre plus délicieux, mais certainement rien de tel aussi délicat que JS, ou PHP (parmi beaucoup d'autres), Obfuscation.
@zzzzbov, devrait i> ou sera i>? Droit du droit d'auteur Devrait I> Protégez le travail d'un développeur de la réutilisation. sera i>? Probablement pas. À moins qu'il ait été explicitement indiqué que les sites Web CSS / JavaScript / HTML / Images / Sites Web ont été licenciés pour la réutilisation, il est illégal d'utiliser une partie de ce contenu sans consentement de l'auteur.
@David Thomas. Je pensais que les développeurs PHP viennent d'écrire leur code pour regarder obscurcissées de commencer! :-p j / k
@David Thomas, @david Murdoch: J'indiquais que tout contenu disponible sur la bande ne sera pas b> et ne doit pas B> de la réutilisation. Copyright ne devrait pas b> protéger le contenu de réutiliser i>. Toute conviction montre un malentendu inhérent au copyright et Utilisation équitable .
@zzzzbov, je voulais seulement vous inclure dans la conversation, ne pas essayer d'impliquer votre position était restreint =) @david murdoch, Dieu ne sait que ce que php devs se lève, ou pourquoi ... = p
@zzzzbov: Ce qui suit n'est pas vraiment destiné à vous, vous semblez connaître suffisamment sur la loi sur le droit d'auteur vous-même; Mais plutôt, c'est pour le passant qui intéresse le sujet.
L'utilisation équitable n'est pas censée permettre aux professionnels de se déchirer les uns des autres; L'utilisation équitable est un acte d'équilibre. Par exemple, si j'ai un panier d'achat en ligne et que vous copiez "myshoppingcart.css" sur votre propre panier (ainsi que le HTML, bien sûr), je soutiendrais ce qui n'est pas équitable. Donc, dans la plupart des cas de situation à but lucratif qui ne sont pas de «pertinence artistique», la réutilisation / la copie d'une source d'application Web (CSS, HTML, JavaScript, C #, PHP) ne constituera probablement pas une utilisation équitable (et sera probablement à l'intérieur. le domaine de la DMCA).
(@David) * 2 N'était pas sûr de si j'étais mal compris, alors je m'assurais de clarifier.
Je crois que cela ne consiste pas à empêcher les gens de voler votre code, mais de la hausse des performances dans les grands projets, c'est une amélioration très importante, car elle affecte les tailles de fichiers CSS, HTML et JS et améliore également la gzipping, même si vous obtenez 10 kb de votre code gzippé, ajoutez-le à des millions de visites, cela peut même vous faire économiser quelque chose sur l'hébergement également, la meilleure option pour cela serait un compilateur de fermeture Google Code.Google.com/p/closure-StylesSheets
Ce n'est pas une réponse. Fondamentalement, vous ne disant que cela n'abombillant que CSS et HTML est difficile et rien d'autre. @zzzzbov, qu'en est-il de Google - PrintCreen ? Pensez-vous qu'ils sont des idiots d'obscurcissement de leur code?
@Victor, Ils ne sont pas obscurcissés de leur code pour empêcher le vol , ils l'appuient pour la performance.
Le compresseur YUI Minifie CSS , mais je ne suis pas sûr de la taille Une victoire pourrait être sur une compression gzip simple. Si vous avez beaucoup de CSS, cela pourrait être un signe d'avertissement de problèmes plus importants. P>
Merci Hank - J'avais pris une brève regard sur le compresseur Yui plus tôt - comme je le crois, il "minifie CSS" autant que possible (supprime tout espace blanc). Je voulais juste voir s'il y avait des semblables à ceux des outils de style JavaScript. (Oh et ne vous inquiétez pas - cela n'a pas été demandé en raison d'un problème, plus de curiosité)
Hank - Si vous travaillez sur un grand projet (en particulier dans un environnement d'entreprise), il est courant de rencontrer une myriade de fichiers CSS nécessitant une minaction afin de réduire l'impact de la performance sur le site. J'ai vu quelques grandes entreprises utilisent le compresseur YUI pour gérer la minification CSS.Bfuscation, cependant ... pas tellement.
@Calvinf Je suis sûr qu'il y a des exceptions à la règle, mais la plupart des sites ne devraient vraiment pas nécessairement avoir besoin de rameaux et de rameaux de CSS. Même si vous avez besoin d'un lot i> de CSS, combien de KBS avez-vous besoin de commencer avec qu'un mini-incidence de CSS constitue un impact substantiel? Ne les concaténerais pas dans un seul dossier, la mise en cache des modifications et la compression GZIP jouent tous un impact beaucoup plus important?
Je suis d'accord que ces modifications sont importantes aussi. La mention est importante car sur certains sites tous les sujets de kilobyte - GZIP n'est pas aussi bon que GZIP + Minification.
Jetez un coup d'œil à ceci: MINIFYCSS P>
Quant à l'obfuscation, je ne suis pas sûr que c'est une bonne idée. Les classes CSS peuvent être manipulées n'importe où. La minute que vous modifiez le CSS, vous perdrez le lien vers les classes / IDS, etc. P>
Jetez un coup d'œil à html5boilerplate.com ; spécifiquement le dernier code source sur GitHub. P>
Le script de construction de HTML5BOLERPLET peut Minify em> JavaScript, CSS et HTML pour vous. Il ne renommé pas vos sélecteurs CSS mais c'est probablement le plus proche d'un "obfuscator" automatisé que vous trouverez. P>
Si vous cherchez simplement à éliminer certains octets supplémentaires de chaque page, assurez-vous que vous utilisez une compression Gzip / déflate, puis essayez l'alphabétisation de vos propriétés de sélecteur CSS et de vos attributs de votre élément HTML et de leurs valeurs. P>
Lisez cette pour les recommandations détaillées de Google sur la méthode ci-dessus. . p>
Dans certaines langages dynamiques avec HTML Helpers (comme ASP.NET/C#), vous pouvez écraser la méthode «ClientID» de HTML-Control pour être une chaîne aléatoire et relier dynamiquement vos sélecteurs CSS sur votre HTML (Eh bien, le côté serveur. contrôles qui rendent HTML). Mais ce serait pour une autre question entièrement et n'est probablement pas ce que vous cherchez à entrer. Il deviendrait également un cauchemar d'entretien. P>
Si vous utilisez Ruby, voici un minificateur Ruby CSS que j'utilise à bon effet. Compte tenu de mon style déjà terres, cela me donne une réduction de 15% de mes tailles de fichiers. P>
Par exemple, sur un projet, l'agrégat de 5 fichiers à 32,3KIB devient 1 fichier de 26,4 kKIB (18%). Sur un autre projet, 2 fichiers de 21,6 kiBien deviennent 1 fichier de 19,0 kiib (12%). P>
HTML Muncher est un outil Python qui essaie de renommer les noms de classe ID et CSS sur les fichiers HTML, JavaScript et CSS. Vous pouvez l'utiliser comme première étape de votre processus d'optimisation, avant de transmettre les fichiers à d'autres outils tels que le compilateur de fermeture de Google ou le compresseur YUI CSS. P>
HTML Muncher est un excellent outil. Cependant, les économies ne seront jamais énormes si vous utilisez déjà GZIP. Original = 148K - Minify + gzip = 17929 c. Munched + Minify + gzip = 15905 B> - une économie d'environ 2k pour beaucoup de travail
compte ces 2 Ko pour des millions de pageViews, et cela fera une différence :)
Il existe de nombreux outils en ligne que vous pouvez utiliser pour des éléments tels que CSS Minification. Voici un Minifier en ligne CSS ! J'ai trouvé. P>
En ce qui concerne les classes CSS renommer, j'essaierais d'éviter cela comme vous perdrez beaucoup de la lisibilité de votre HTML. P>
J'ai développé un outil pour Obfuscant CSS. Il est cible de ne pas faire de feuilles de style plus rapidement ou de faire de votre travail "réutilisable" à l'abri de vol. Il a plusieurs méthodes Comment faire une enfance d'obtenir une source de CSS originale (mais elle est toujours en développement et de meilleures méthodes seront utilisées). Je le recommanderais aux vendeurs de modèles HTML / CSS, qui fournissent des démos en direct et qui sont inquiets des vols et des codeurs - pigistes, qui souhaitent présenter leur travail à des clients (non freins). Vous pouvez l'essayer: http://cssobfuscator.com p>
Salut, puis-je inclure cela dans mon processus de construction à l'aide de la gorgion
Sûrement lorsque vous miniez quelque chose, vous lisez la lisibilité de la fenêtre dompter!
Je suis d'accord - je me demande simplement si les avantages de l'obfuscation valent la peine d'augmenter (le cas échéant) dans la performance.
Je pense que le seul avantage est que le fichier est plus petit, donc votre bande passante de sauvegarde si vous repoussez cela à des milliers d'agents utilisateur par jour.
Quel est le point dans Obfuscant CSS et HTML? Les classes doivent encore faire correspondre. Tout ce que vous perdez est sémantique, et il est encore assez facile de "voler" tout ce que vous voulez ... Venez ... Même avec Obfuscation, Firebug et d'autres personnes sont toujours en mesure de montrer le CSS avec point et clic!