11528 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Pour un jeu web, j'aimerai limiter à l'accès au code source (clic droit /Ctrl+U / Ctrl+Maj+I / Ctrl+S).
Il reste toujours F12 et actions navigateur mais ça limite quand même !

Cela a été fait sur https://laclassedelollie.fr/

J'aimerai isoler le code en question pour l'intégrer.

Merci beaucoup de m'aider !
Bonjour,

Je ne sais pas pour le site en question mais juste en CSS :
.element {
    user-select: none;
}

Modifié par Olivier C (03 Nov 2020 - 16:33)
@Olivier C Merci pour la sélection !
Il reste plus que "clic droit /Ctrl+U / Ctrl+Maj+I / Ctrl+S" Smiley lol
Modérateur
Bonjour,
js_html a écrit :

Il reste plus que "clic droit /Ctrl+U / Ctrl+Maj+I / Ctrl+S" Smiley lol


Impossible. Ce sont des actions exécutées par le navigateur sur lesquelles le code de ta page n'a que peu de control. Tu peux trouver des combines pourrissant le vie des utilisateurs mais tu ne pourras jamais les empêcher de voir ton code s'ils le souhaient.

L'exemple type, c'est le menu contextuel via le click droit. Certains l'empêche via le code suivant :
<body oncontextmenu="return false;">


Manque de bol, il suffit que l'utilisateur désactive javascript, et ta merveilleuse combine pour l'empêcher de voir ton code ne sert plus à rien.

Amicalement,
Je pense que js_html veut juste éviter le pillage des données par des utilisateurs lambda, ce que je peux comprendre pour certains cas d'utilisation : quand j'étais blogueur le copié/collé était un sport insupportable, tu te tuais à faire des articles originaux et tu te retrouvais déclassé sur Google par les copieurs.

Je trouve que la question reste intéressante par rapport au site WordPress donné en lien. Apriori l'enseignante utilise un plugin, mais il y a tellement de js injecté dans la page (et qui ne sert à rien) qu'il est difficile de s'y retrouver.
Modifié par Olivier C (04 Nov 2020 - 09:05)
Modérateur
Bonjour,

Pour le site https://laclassedelollie.fr/, testé avec Safari :

Tu affiches une page quelconque, tu désactives javascript sans recharger la page, et tu as accès au click droit. Pour continuer à naviguer ensuite, tu réactives javascript, tu affiches une nouvelle page, tu désactives javascript, etc.

Alternative, tu désactives css. Tu n'as plus besoin de désactiver ou réactiver entre chaque changement de page. Tu perds en présentation, mais pour ce qui est du contenu, t'as tout. C'est l'autoroute.

Alternative, tu aspires le site.

Bref, celui qui veut copier va y arriver très facilement. Ça ne gène que ceux qui n'y connaissent rien, qui auraient éventuellement fait de la publicité pour le site, et qui au final vont s'en détourner parce qu'ils vont trouver agaçant de ne pas disposer des fonctions habituelles. Je suis de ceux-là (pas de ceux qui n'y connaissent rien mais de ceux qui vont s'agacer Smiley lol Smiley lol Smiley lol ).

Pour ce qui est des dommages du fait des copies, de toute façon, ce qu'on produit soi-même est en grande partie une recopie de ce qu'on a vu ailleurs. On n'arrête pas soi-même de récupérer le travail des autres. On ne fait la plupart du temps qu'une remise en forme.

Si on a des données à protéger, par exemple un dictionnaire, ou un algorithme, et bien on le laisse sur le serveur, et on n'envoie au navigateur que le résultat, ce que l'internaute voit dans sa page. C'est la manière appropriée de procéder, et ça suffit largement la plupart du temps.

Après s'il y a de gros enjeux derrière, il reste les tribunaux.

Amicalement,
Modifié par parsimonhi (04 Nov 2020 - 09:36)
Modérateur
Hello,
Je peux comprendre le fond de l'idée mais au final, c'est internet… à partir du moment où tu exposes du contenu en ligne, c'est que tu es ± pret à la partager.
Si le numéro de ta carte bancaire est stocké online, tu sais qu'il y a un risque… alors tu imagines un simple article/jeu exposé à tout le monde Smiley rolleyes
À voir à quel point et quel investissement tu veux pour retarder les personnes qui, si ils le veulent, auront probablement ton contenu du manière ou d'une autre… Smiley smile
Merci beaucoup pour vos réponses !

parsimonhi a écrit :

Tu peux trouver des combines pourrissant le vie des utilisateurs mais tu ne pourras jamais les empêcher de voir ton code s'ils le souhaient.

Bref, celui qui veut copier va y arriver très facilement. Ça ne gène que ceux qui n'y connaissent rien, qui auraient éventuellement fait de la publicité pour le site, et qui au final vont s'en détourner parce qu'ils vont trouver agaçant de ne pas disposer des fonctions habituelles. Je suis de ceux-là (pas de ceux qui n'y connaissent rien mais de ceux qui vont s'agacer Smiley lol Smiley lol Smiley lol ).

Manque de bol, il suffit que l'utilisateur désactive javascript, et ta merveilleuse combine pour l'empêcher de voir ton code ne sert plus à rien.


Réponse :
js_html a écrit :
Pour un jeu web, j'aimerai limiter à l'accès au code source.

Je sais que je ne peux pas bloquer, je souhaite juste limiter !


parsimonhi a écrit :
Si on a des données à protéger, par exemple un dictionnaire, ou un algorithme, et bien on le laisse sur le serveur, et on n'envoie au navigateur que le résultat, ce que l'internaute voit dans sa page. C'est la manière appropriée de procéder, et ça suffit largement la plupart du temps.


Réponse : Je ne maitrise pas du tout le php ni autre langage côté serveur. Je souhaite me contenter de html/js/css.

Si quelqu'un arrive à trouver les astuces pour bloquer "Ctrl+U / Ctrl+Maj+I / Ctrl+S", merci !
Si vous avez d'autres suggestions, merci !
Modérateur
Bonjour,

Je me demande ce qu'il y avait de difficile à comprendre dans le mot "Impossible".

Ça ne marche pas sur Mac. Ou plutôt si, ça marche, mais par exemple on n'utilise pas ctrl+U pour afficher le code source.

On utilise Cmd+U ou Cmd+u ou Cmd+opt+U ou Cmd+opt+u ou Cmd+alt+U ou Cmd+alt+u, ou n'importe quoi d'autre (on peut choisir ses propres raccourcis clavier sur Mac), ou encore on peut utiliser le menu du navigateur.

Du coup, c'est ballot de se donner tout ce mal pour interdire Ctrl+U, non ? Smiley cligne

Amicalement,
Modérateur
Bonjour

@js_html : il y a un autre truc que tu vas trouver super-marrant.

Il existe une commande qu'on peut utiliser dans un terminal (MacOS, Windows, Linux, ... on peut l'installer partout) qui s'appelle curl et qui permet de voir le code source d'une page.

Par exemple :
curl  https://forum.alsacreations.com/forum.php


C'est fou, non ? Smiley biggrin Smiley biggrin Smiley biggrin

Amicalement,
Modifié par parsimonhi (16 Nov 2020 - 20:55)
parsimonhi a écrit :
Je me demande ce qu'il y avait de difficile à comprendre dans le mot "Impossible".

parsimonhi a écrit :
Du coup, c'est ballot de se donner tout ce mal pour interdire Ctrl+U, non ? Smiley cligne

Je sais que l'on ne peut pas interdire mais c'est pour limiter Smiley mur (et pour faire un exercice informatique où les gens doivent apprendre à contourner des problèmes) ! Smiley lol Smiley sweatdrop

Pourquoi vous souhaitez à tout pris me dissuader de faire ça ??? Smiley bawling (et ne me dites pas que c'est parce que l’utilisateur ne sera pas libre Smiley mur car c'est fait exprès - un jeu et un exercice - !)

Ne pourriez-vous pas plutôt me dire si ça fonctionne pour vous ?? Smiley smile

PS1 : J'ai mis assez de smileys ?
PS2 : OUI il y a aussi "curl" mais je veux juste "limiter" !

Merci beaucoup ! (et s'il vous plaît ne me dites plus que c'est impossible car je veux jsute "limiter")
Modifié par js_html (16 Nov 2020 - 21:04)
Modérateur
Bonjour,

Ton ctrl+U est bien détecté sur Mac (comme je l'ai déjà signalé plus haut), mais il ne fait rien de toute façon (sauf cas particulier) quand on utilise un navigateur sur Mac.

Amicalement,
Modérateur
Bonjour,

Oui, ça les bloque, mais c'est pas ça qu'on utilise sur Mac.

Et surtout, toutes ces commandes (enfin les commandes équivalentes sur Mac) sont accessibles via le menu pour voir le code source, sauvegarder le page... Y a en fait que les experts qui utilisent Ctrl+U ou Cmd+U (et ceux-là contourneront tes combines les yeux fermés). Les autres vont simplement dans le menu et cliquent sur "Afficher le code source".

Amicalement,
Modifié par parsimonhi (16 Nov 2020 - 21:33)