2010-03-08 13 views
8

He escrito un programa ASP.NET para un cliente, quiero agregar un mensaje similar a "Versión de vista previa, ABD Consulting" en la página master.master, pensé usar Response.write pero estropea la apariencia de la página, ya que parece mover página elemets. Si uso una etiqueta, el cliente puede eliminarla del archivo Master.master, ¿alguna sugerencia? El cliente está en un país diferente, así que quiero asegurarme de que me paguen.ASP.NET ¿Cómo puedo escribir un mensaje en la pantalla sin que el usuario final lo elimine?

Muchas gracias

+0

¿Puede aclarar que el cliente tiene o no la fuente? ¿Es así como pueden editar el archivo maestro? –

Respuesta

5

Servívelo en su propio servidor. Si es una vista previa, no deberían tener acceso al código de todos modos.

0

Ofuscarlo en un dll y usar el contexto actual para escribir un div bastante como el que utiliza StackOverflow.com en la parte superior.

+1

aunque el cliente podría eliminarlo con algunos triviales CSS y/o JS. –

3

No hay nada que pueda hacer a menos que lo aloje o controle el servidor web en el que se ejecuta. Nada de lo que hagas en el código importará si son lo suficientemente inteligentes. Pueden escribir sus manejadores HTTP y reemplazar todo lo que deseen.

1

Si escribe la etiqueta mediante programación durante OnPrerender o Render de la página, el cliente no podrá eliminarla. Si luego aleatoriza la identificación que se le da al elemento, le resultará increíblemente difícil aplicarle funciones de JavaScript o estilos de CSS, especialmente si le agrega directamente los estilos.

Algo como esto (pseudo código):

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 a continuación, colocar de manera absoluta que, se debe mostrar siempre hacia arriba. Tenga en cuenta que no es totalmente intocable y a prueba de tontos, pero desea que sea lo suficientemente difícil como para que el cliente no intente eliminarlo.

+0

Además, los conjuntos de nombres fuertes y firmados deberían ser suficientes para evitar expediciones de intrusión intrépidas en las constantes de cadena de los archivos DLL. –

+0

Si se renderiza en un lugar coherente en la fuente, sin embargo, sería bastante trivial eliminar mediante javascript. Tal vez aleatorice la etiqueta, la clase, la ID y la ubicación dentro de la fuente. –

0

Estoy con George y Rick: no les permitas tener la fuente y servirla desde un servidor que controlas. Además, había creado una imagen de fondo que decía "Demostración". Esto les recordará que deben pagar.

Cuestiones relacionadas