34Fermer36
WarptenLe 19/09/2015 à 21:18
flanker (./32) :
Un gros problème des sites en JS est que c'est impossible à récupérer pour en faire une copie en local sad

Dans Chrome tu peux copier-coller tout le .html dans la console. T'auras pas les images, surtout si ce sont des liens indirects ("/blabla/machin", pas "http://www.mon.super.site.gopher.com/..."), m'enfin.
Meowcate (./33) :
Le JS permet de déléguer au client des modifications qui ne nécessitent pas de recharger la page en passant par le serveur. Même mettre de l'AJAX un peu partout pour s'assurer que la page soit toujours asynchrone, je suis ok. Mais afficher du statique (dès le premier chargement) par le JS, je ne l'explique pas.Comment expliquer cela... c'est un peu comme si les pages web devenaient, pour un affichage de contenu, du code compilé : on ne peut pas regarder les sources pour comprendre ce qu'on voit.

En gros on est passé à de l'"AOT" (le serveur génère le tout) à du JIT. cheeky

./34 (Merci à l'anti cross!) On peut voir le résultat du JS dans la console de Chrome ou FireFox. Et avec le JS, on peut afficher tout le code des fonctions qui gèrent l'affichage, on peut les modifier, les détourner... Et ça peut exposer un bon paquet de failles si c'est mal implémenté.

Un exemple tout con:
window.open = function() { }; // Oups
Et pour les détours:
target = { method: function(i) { return i+1; } }; (function() { var copy = target.method; target.method = function(i) { return copy(i) - i; }; })();
Un autre exemple des affreux pouvoirs du JS (qui exploite un des "défauts" du JS) :
document.eval = function() { }; // We safe, right? var c = "constructor"; c[c][c]("alert('pwnage');")(); // Nope