2010-03-08 2 views
8

J'ai écrit un programme ASP.NET pour un client, je souhaite ajouter un message similaire à "Preview version, ABD Consulting" sur la page master.master, j'avais pensé à utiliser Response.write mais ça gâche le look de la page telle qu'elle semble déplacer les éléments de la page. Si j'utilise une étiquette, le client peut la retirer du fichier Master.master, des suggestions? Le client est dans un pays différent, donc je veux m'assurer que je suis payé.ASP.NET Comment écrire un message à l'écran sans que l'utilisateur final le supprime?

Un grand merci

+0

Pouvez-vous préciser que le client a la source ou non? Est-ce ainsi qu'ils peuvent éditer le fichier maître? –

Répondre

5

Servir sur votre propre serveur. Si c'est un aperçu, ils ne devraient pas avoir accès au code de toute façon.

0

Obscurcissez-le dans une DLL et utilisez le contexte actuel pour écrire une jolie div comme celle que StackOverflow.com utilise en haut.

+1

bien que cela puisse être supprimé avec quelques CSS et/ou JS triviaux par le client. –

3

Vous ne pouvez rien faire à moins de l'héberger ou de contrôler le serveur Web sur lequel il est exécuté. Rien de ce que vous faites dans le code n'aura d'importance s'ils sont assez intelligents. Ils peuvent écrire leur sur HTTP Handlers et remplacer tout ce qu'ils veulent.

1

Si vous écrivez par programme le libellé lors de l'OnPrerender ou du Rendu de la page, le client ne pourra pas le supprimer. Si vous randomisez ensuite l'ID donné à l'élément, il trouvera incroyablement difficile d'y appliquer des fonctions javascript ou des styles CSS, surtout si vous y ajoutez directement les styles.

Quelque chose comme ceci (code de pseudo):

HtmlGenericControl label = new HtmlGenericControl("div"); 
label.ID = Guid.NewGuid().ToString(); 
label.InnerText = "My copyright or ownership text"; 
label.Style.Add(HtmlTextWriterStyle.Height, "50px"); 
label.Style.Add(HtmlTextWriterStyle.Width, "100px"); 

si vous positionnez absolument, il faut toujours montrer. Notez qu'il n'est pas totalement intouchable et infaillible, mais vous voulez juste le rendre suffisamment difficile pour que le client n'essaie pas de le supprimer.

+0

En outre, les assemblages à dénomination forte et signés devraient suffire à empêcher les expéditions de piratage intrépides dans les constantes de chaîne des DLL. –

+0

Cependant, s'il est rendu dans un endroit cohérent dans la source, il serait relativement trivial de le supprimer via javascript. Peut-être randomiser le tag, la classe, l'ID et l'emplacement dans la source. –

0

Je suis avec George et Rick - ne les laissez pas avoir la source et le servir à partir d'un serveur que vous contrôlez. De plus, j'avais créé une image de fond qui disait "Demo". Cela rappellera qu'ils doivent payer.

Questions connexes