Le javascript protège-t-il du copiage HTML ?

WRInaute accro
Bonjour

Sans aller jusqu'à la migration de mon site vers Firebase, j'ai l'intention de protéger mon site des aspirations html.

Ceci sans antiaspirateur, et aussi compte tenu du fait que mes pages html, sont mises en cache, grâce à la classe de cache html de noren.

Donc comment, avec javascript ou autre, protéger un site contre les copiages ?

Merci beaucoup.
 
WRInaute impliqué
Dans la mesure où ton site publie des statistiques qui changent constamment, quel serait l'intérêt de le protéger ?
 
WRInaute accro
Non. Le javascript ne protège pas contre les copies. Pour les aspirations, il y a des techniques qui permettent de bloquer les connexions multiples trop rapides de la part d'une même ip, ou de bloquer les connexions sans referer (mais ça ça bloque aussi les gens qui ont mis ton site en favoris).
 
WRInaute accro
Merci beaucoup Marie-Aude

J'imagine. Un script Javascript distant appelé avec un identificateur variable à partir du script interne ( ou externe ), de la page, puis le script distant charge à partir d'un deuxième script distant qui rend le contenu json identifié par un autre identificateur généré par ses soins, puis un autre script parse le json et affiche le html.

Le blême, est qu'il suffirait d'analyser ces trois scripts pour simuler en php leur comportement.

Y aurait-il un problème de timing qui empêcherait celà ?

Respectueusement.
 
WRInaute accro
Super... faut il rappeler que Google n'exécute pas le javascript correctement...

Honnêtement, tu perds ton temps. Ton site n'a pas de contenu original autre que les éventuels textes que tu feras. Donc tu ne peux pas en définir la copie... et pour le contenu éditorial, il suffit que tu cherches de temps en temps tes textes
 
WRInaute passionné
Aucun moyen, à partir du moment où au final du HTML arrive pour le visiteur, n'importe quelle simulation de visiteur recevra le même HTML, sinon il faut vendre ton idée à des sites comme rbnb ou Leboncoin car même eux n'y arrivent pas.
 
WRInaute accro
Bonjour

Je vais creuser.

Avec un script php et un module php d'identification hybride, et du contenu en Javascript.

Merci beaucoup de votre aide.

Amicalement.
 
WRInaute accro
Voili voilou

Algorithme de Diffie-Hellmann.

L e soft pour chaque page, vérifiera si Javascript est activé.

Si oui, la page suivante sera chargée en PHP.

Sur 10 essais virtuels, 1 de raté.

Deux requêtes HTTP en Javascript dans chaque page.

Ultra rapide.

Je vais tester en réel ( filtrage http://localhost sur mon ordi ).

Bien amicalement.
 
WRInaute accro
Bonjour UsagiYojimbo

J'ai une fonction is_bot() en php avec getdns(), qui donne le reverse.

Avec des preg_match ad hoc, je peux savoir si c'est un bot ou non.

Et désactiver la détection du Javascript

Je vais loguer avec des console.log() les variables et mettre sur mon site une page de test.

Celà me servira pour tester les erreurs intempestives.

Merci beaucoup de ton avis.
 
WRInaute accro
Voilà

Pour les tests :

https://www.pronostics-courses.fr/essai/client.html

Les variables entières figurent dans les console.log().

Celà inclut :

p : ( nombre premier aléatoire < 50 ),

g : base < p

a : clé secrète client

A : clé publique client

B : clé publique serveur

s_client : clé privée calculée client

s_server : clé privée calculée serveur.

Pour que çà matche, il faut : s_client == s_server.

b la clé secrète du serveur n'y figure pas.

Les seules clés connues :

Client : p, g, a, A, B

Serveur : p, g, b, A, B.

Clés non connues :

Client : b, s_server

Serveur : a, s_client

En fait, il faut bien vérifier côté serveur que s_client == s_server, donc la deuxième requête HTTP envoie s_client au serveur pour vérification.

Merci de tester.

Amicalement.
 
WRInaute accro
Bonjour nicodak

A l'instant :

p = 43
g = 8
a = 6
A = 16
B = 4
sclient = 11
/favicon.ico Failed to load resource: the server responded with a status of 404 ()
s_server = 11

Théoriquement, il faut seulement permettre les cookies.

Tes indications suggèrent une CPS trop sévère sur mon VPS.

C'est la même CSP pour moi.

Je ne vois pas d'où vient l'erreur.

Merci beaucoup de ton aide.
 
WRInaute accro
Rebond

Voilà ma CSP modifiée.

J'ai rajouté un 'self' à connect-src.

Celà devrait fonctionner maintenant.

SI ce n'est le favicon.ico qui n'y est pas.

Merci beaucoup de ton aide.

Amicalement.


Code:
HTTP/2 200 
server: nginx/1.14.2
date: Wed, 06 Jul 2022 09:26:37 GMT
content-type: text/html
content-length: 329
last-modified: Tue, 05 Jul 2022 16:33:43 GMT
etag: "62c467e7-149"
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
content-security-policy: default-src 'self'; connect-src 'self' https://analytics.pronostics-courses.fr; script-src 'self' https://analytics.pronostics-courses.fr; img-src 'self' https://analytics.pronostics-courses.fr; style-src 'self'; frame-ancestors 'self'; frame-src 'self'
strict-transport-security: max-age=31536000; includeSubDomains; preload
accept-ranges: bytes
 
WRInaute accro
Voilà voilà

J'avais un bug avec XMLHttpRequest.

Maintenant çà marche aussi avec Internet Explorer.

Merci d'essayer.

Amicalement.
 
WRInaute occasionnel
Il reste l'erreur du favicon effectivement.
Pour le reste je te laisse analyser mais ça à l'air d'être pas mal puisque 10 = 10 :D

Capture d’écran 2022-07-06 112850.png
 
WRInaute accro
Théoriquement

Comme les formules de calcul sont visibles sur le Javascript, ce devrait être possible de simuler le client en PHP.

Cependant, rien n'empêche que d'adjoigne une reconnaissance par clés privées et publiques ?

A, s_client, clés publiques/privées client,

B, s_server, clés publique/privée serveur.

Ceci serait-il hackable en PHP ?

Le but est d'empêcher la consultation de mon site autrement qu'avec un navigateur classique.

Merci de vos réponses.

Amicalement.
 
WRInaute accro
Rebond

Maintenant les deux requêtes http sont en mode post.

Probablement encore simulable en PHP. ;(

Le bug semble venir du fait que les valeurs sont calculées en Javascript.

Comment recevoir les valeurs du serveur de façon invisible ?

Ou bien déporter l'identification à distance comme Firebase.

Amicalment.
 
Discussions similaires
Haut