28216 sujets

CSS et mise en forme, CSS3

Pages :
Bonjour,
Voici la problématique:
Comment protéger un fichier feuille de style "style.css" de façon à ce :

1--> qu'il ne puisse pas être récupérer par un utilisateur.
2--> qu'il puisse être executé lorsqu'il est attaché à une page HTML

J'ai bien réussi à le protéger via un fichier .htaccess et .htpasswd,
mais le problème dans ce cas c'est qu'il n'est pas executé.

Merci de votre aide

Matt
Modérateur
Ce n'est tout simplement pas possible de protéger un fichier .css car le navigateur doit le télécharger pour pouvoir l'interpréter. Une fois téléchargé, l'utilisateur peut le consulter.

Pourquoi tiens-tu à faire cela ? Tu as trouvé le hack de la mort qui tue et tu ne veux pas le partager ? Veux-tu simplement protéger la copie de ton design ?
Modifié le 13 Jan 2005 - 22:54
Ben le problème n'a pas l'air simple, attendu que le but du jeu, c'est que la feuille de style doit être téléchargée chez le surfeur, afin de charger ses propriétés en conséquence, a partir ... du disque du sus-nommé surfeur.

Je comprends que tu ne veuille pas qu'on te pique ton taf, mais là, c'est l'impasse.
Modifié le 13 Jan 2005 - 22:56
tu peux la mettre où tu veux. L'internaute qui demandera la page téléchargera la CSS où qu'elle se trouve.

Question d'un benet : Est-il possible de l'enregistrer en PHP ?
Numero 6 a écrit :
(...)
Question d'un benet : Est-il possible de l'enregistrer en PHP ?

Réponse d'un benêt: Smiley cligne
En fait, il est à mon avis <em>impossible</em> (sémantik inside) d'interdire l'accès à une feuille de style à un utilisateur, puisque que le boulot du serveur, c'est d'envoyer des lignes de codes, pas un joli design. Du point de vue du serveur, on n'envoye que des fichiers, pas de la présentation ou autre. Ensuite, c'est le browser (butineur pour les tro-francophones) qui "interprète" la page (et éventuellement sa feuille de style) et qui l'affiche à l'utilisateur. Il y a donc quatre niveaux:
1. le serveur, il envoie des fichiers (dons l'URI doit être accessible au point 2)
2. l'ordinateur reçoit ces fichiers et les stocke temporairement (ce qu'on appelle le cache)
3. le browser "traduit" ces fichiers en texte lisible et en design joli (ça dépend pas de 1 ni de 2 ça Smiley cligne )
4. l'utilisateur

4 peut se borner à observer 3, mais il a accès à 2 (code source) et ça, tu ne peux pas lui interdire, toi qui es du coté du 1 (j'adore expliquer de telle manière que plus personne ne comprend plus rien Smiley cligne )

Bon, en espérant avoir été clair, je me rends compte que je n'ai pas répondu à la question (manie chez moi). Je vais le faire.

Le PHP, ça fait quoi? Plein de choses, mais en gros, ça tripatouille uniquement côté serveur (1) et après ça envoie à l'ordinateur client un fichier, donc ça ne résout rien.

CQFD Smiley cligne

@+, HoPHP
Modifié le 13 Jan 2005 - 23:38
Je lance une idée : pourquoi ne pas insérer un code php qui récupèrele nom du fichier css dans une bdd pour l'inclure ensuite dans la page html puis qui le php le renomme à nouveau differement...
vous me suivez?
'tain le boulot. Tout ça pour ne pas récupérer une CSS Smiley rolleyes .

Non finalement, je ne trouve pas ça très utile, bien que je comprenne que tu défendes ton bifteak. Si on poursuit le raisonnement, il va falloir des copyrights en filigrane sur les images, etc ...
Modifié le 14 Jan 2005 - 00:11
À mon avis, la seule façon de protéger ta feuille de style est de ne pas la publier sur le Web. Tu la gardes bien zippé dans un sous-sous-sous-répertoire de ton ordinateur. Avec le temps, peut-être que même toi tu finiras par l'oublier...

Sérieusement, même si je le savais, je ne te le dirais pas parce que moi mes trucs, je les garde juste pour moi. Smiley biggol
Modifié le 14 Jan 2005 - 02:20
Si si, il y a un moyen imparable d'utiliser une CSS sans la publier.

Evidemment, c'est un peu lourd à mettre en place, mais bon, le principe:

- CSS et source XML du contenu en zone protégée sur le serveur
- Transformation XSLT --> on fait un Pdf de chaque page
- diffusion publique du site en Pdf

Imparable, non ?

Sinon, voir http://www.opquast.org/forum/list.php?11 . Blague à part, toute "bidouille" destinée à empêcher la visualisation de tout ou partie du code (css, HTML, js ou autre) est illusoire. Elle est généralement néfaste car elle bloque l'accès au document pour une partie des utilisateurs. Elle est hors-sujet car la protection des droits de l'auteurs n'est pas du ressors de la technique, mais des dispositifs légaux (copyright, licence, etc).

Mets donc plutôt en tête de ta CSS une licence du type Creative Commons. Tu trouveras sur http://creativecommons.org/license/ un outil très pratique pour choisir la licence adaptée à tes souhaits.

(Enfin, en espérant t'avoir convaincu, autant anticiper sur une découverte que tu cas sans doute faire : l'astuce passant par javascript pour empêcher de visualiser une CSS plante la page dans un tiers des cas. )
Modifié le 14 Jan 2005 - 05:45
L'idée du php pour copier les styles à la volée dans le html est pas mal quand même... Donc tu as les avantages d'une feuille de style et tu vas les perdre pour tout intégré à ton html via php. Au prix d'une consomation de bande passante supplémentaire pour toi et l'internaute, d'une utilisation de ressources accrue, d'une somme de travail supplémentaire non négligeable.

Tout ça pour rien puisque les styles seront toujours visibles dans le source html... hein bon le prend pas mal mais faut vraiment être tordu dans sa tête pour avoir des idées pareilles. Smiley smile

Laurent Denis et Stephan ont des solutions plutôt interessantes. Moi je suis moins technique que Laurent, je te conseillerais juste de faire des captures en jpeg de tes pages et de les mettre en ligne à la place de tes pages actuelles. Smiley cligne
Modifié le 14 Jan 2005 - 04:45
thieunet a écrit :
Je lance une idée : pourquoi ne pas insérer un code php qui récupèrele nom du fichier css dans une bdd pour l'inclure ensuite dans la page html puis qui le php le renomme à nouveau differement...
vous me suivez?


Si j'ai bien suivi, ça donne le dialogue suivant:
CLIENT - Je voudrais Accueil.html, svp
SERVEUR - Minute, je regarde la Bdd. Bon, j'ai style1.css. Je formatte le <link rel="stylesheet" href="style1css">... J'envoie Accueil.html... je renomme style1.css en style2.css pour pô qu'il puisse y accéder... C'est bon....
CLIENT - Allo ?
SERVEUR - Oui ? Quoi encore ?
CLIENT - Je vois qu'il me faut aussi style1.css, svp
SERVEUR - Y'en a pu. Erreur 404 mon vieux, désolé.
CLIENT - Bon, temps pis. J'affiche le HTML brut...
Remarquez, on peut aussi empêcher la mise en cache de la CSS côté client, avec les en-têtes HTTP qui vont bien. Deux ou trois bidouilles de plus peuvent rendre le code HTML illisible dans un éditeur... Quelques astuces pour bloquer le clic droit... Là, ça donne:

CLIENT - B'jour. Je voudrais Accueil.php et tout ce qui s'en suit.
SERVEUR - C'est servi. Chaud devant !
CLIENT (2mn plus tard) - Hep ? Y veut Page_Machin.php, maintenant
SERVEUR - Voilà...
CLIENT - Y me faut la CSS avec
SERVEUR - je vous l'ai déjà envoyée ! Vous croyez que j'ai que ça à faire ? Là, tout de suite, j'ai dix ou vingt mille requêtes à traiter, moi, monsieur. Regardez dans votre cache, c'est fait pour ça.
CLIENT - J'ai rien en cache. Vous m'avez dit de pas la mettre en cache...
SERVEUR - Bon, ben... Prenez un ticket et mettez-vous dans la file d'attente, alors.
CLIENT - C'est bien la peine d'avoir l'ADSL, tiens...
Modifié le 14 Jan 2005 - 06:08
Administrateur
Moi j'ai une simple question : pourquoi ?

Tu as réinventé la roue ? tu utilises des propriétés CSS que personne ne connaît ? Un hack inédit ?
... Car à part ça, je ne vois pas en quoi une liste de déclarations CSS a un quelconque intérêt pour autrui (tu nous demanderais de protéger tes images, à la rigueur je comprendrais... mais des propriétés CSS Smiley ohwell )

Donc, si tu veux bien répondre explicitement à ma simple question, je serais ravi d'apprendre de nouvelles choses aujourd'hui Smiley smile
Salut,

1) C'est a priori impossible, puisque ta feuille de style doit être téléchargée sur l'ordi de 'internaute pour être interprétée, donc s'appliquer à ta page
2) La plupart des gens n'en ont rien à faire de tes css (soit dit sans vouloir te vexer), et ne savent probablement pas comment aller les regarder
3) Ceux qui sont susceptibles d'être intéressés sont les mêmes qui sauront comment faire pour la récupérer, quelles que soient tes astuces

Conclusion : amha, laisse tomber
Aller, une réponse de plus pour tout résumer : C'est techniquement impossible. Aucuns moyens, rien, niet, nada.

En plus, toutes les techniques et autres hacks ont déjà été inventés, donc tu peux avoir mis dans ton CSS des techniques de fou, tu les retrouveras de toute façon ailleurs...
Stephan a écrit :
Sérieusement, même si je le savais, je ne te le dirais pas parce que moi mes trucs, je les garde juste pour moi. Smiley biggol


Ca respire le libre tout ça Smiley cligne Belle parole Smiley ravi
Modérateur
Ca respire le sarcasme, plutôt ! Smiley cligne

Dommage qu'il ne m'ailles pas fait confiance dès le départ, je l'avais pourtant dis que c'était impossible ! Ah la la ! Smiley vieux
Administrateur
N'importe quel sniffeur de réseau entre SERVEUR et CLIENT récupérera tout ce que veut qq1 de motivé ... (surtout qu'on attend des caractères clefs genre { } px em float margin Smiley ravi

Et puis il suffit de regarder le design d'une page pour la copier (et ce sera aussi rapide que de partir d'un CSS complexe q'on n'a pas créé soi-même)
Je ne pense pas que ça serve beaucoup de cacher la css... tu vas cacher le "comment t'as fait techniquement" mais on pourras toujours te piquer tes bonnes idées en regardant le résultat... Et comme c'est les bonnes idées qui t'appartiennent et pas le techniquement... je trouves pas ça utile Smiley sweatdrop
Pages :