Foros del Web » Programación para mayores de 30 ;) » .NET »

Denegar pegar link en navegador

Estas en el tema de Denegar pegar link en navegador en el foro de .NET en Foros del Web. estimados, necesito saber como bloquear que accedan a un link pegandolo en el navegador: ejemplo: es un sitio asp.net, que requeire logearse, una vez logeado ...
  #1 (permalink)  
Antiguo 18/02/2011, 09:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Denegar pegar link en navegador

estimados, necesito saber como bloquear que accedan a un link pegandolo en el navegador:

ejemplo: es un sitio asp.net, que requeire logearse,

una vez logeado tengo acceso al sitio, y existe paginas, ejemplo:
.../clientes.aspx,

y si el usuario pusiera en el navegador .../proveedores.aspx (existe) la abre igual, como bloquear esto, o pregutar en el postback o algo???

si hacer algo anexo, como enviarse parametros entre aspx, y eso...

me gustaria hacer algo, formal no tan rebuscado...

gracias por su colaboración....


Última edición por lbauerle; 18/02/2011 a las 09:29 Razón: caligrafia
  #2 (permalink)  
Antiguo 18/02/2011, 09:38
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Denegar pegar link en navegador

eso lo podrias evitar con el manejo de Sessiones, en el globlal.asax, estas trabajando con lo que mencione?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 18/02/2011, 12:45
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Denegar pegar link en navegador

Debes de incluir el fragmento que quieres proteger en el web.config y modificar la sesión Autenticacion del mismo.

Saludos
  #4 (permalink)  
Antiguo 18/02/2011, 12:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

Cita:
Iniciado por Aquaventus Ver Mensaje
eso lo podrias evitar con el manejo de Sessiones, en el globlal.asax, estas trabajando con lo que mencione?


si trabajo con global.asax?...


como lo hago me podrias poner codigo de ejemplo...

grcias.
  #5 (permalink)  
Antiguo 18/02/2011, 12:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

Cita:
Iniciado por gedarufi Ver Mensaje
Debes de incluir el fragmento que quieres proteger en el web.config y modificar la sesión Autenticacion del mismo.

Saludos

podrias mostrarme un poquito de codigo pliss?


THX.
  #6 (permalink)  
Antiguo 18/02/2011, 13:14
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Denegar pegar link en navegador

leete esto articulo : session
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 18/02/2011, 13:39
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Denegar pegar link en navegador

Cita:
Iniciado por lbauerle Ver Mensaje
podrias mostrarme un poquito de codigo pliss?


THX.
Claro que si, tu web.config debe de quedar asi:

Código XML:
Ver original
  1. <?xml version="1.0"?>
  2. <configuration>
  3.   <configSections>
  4.   </configSections>
  5.   <location path="Backstage">//Ruta raiz que quieres proteger
  6.     <system.web>
  7.       <authorization>
  8.         <deny users="?" />
  9.       </authorization>
  10.     </system.web>
  11.   </location>
  12.   <connectionStrings>
  13.   </connectionStrings>
  14.   <appSettings>  
  15.   </appSettings>
  16.   <system.web>
  17.     <!--
  18.            The <authentication> section enables configuration
  19.            of the security authentication mode used by
  20.            ASP.NET to identify an incoming user.
  21.        -->
  22.     <authentication mode="Forms">
  23.       <forms name=".Default" loginUrl="Backstage\Login.aspx" protection="All" timeout="15" />//Ruta del formulario de autenticación (Inicio de sesión)
  24.     </authentication>
  25.     <!--
  26.            The <customErrors> section enables configuration
  27.            of what to do if/when an unhandled error occurs
  28.            during the execution of a request. Specifically,
  29.            it enables developers to configure html error pages
  30.            to be displayed in place of a error stack trace.      
  31.        -->
  32.   </system.web>
  33.   <system.webServer>
  34.     <modules>
  35.     </modules>
  36.   </system.webServer>
  37. </configuration>

En el formulario de inicio de sesión me imagino que realizaras alguna validación del usuario, pero ademas debes de agregar el siguiente código:

Código C#:
Ver original
  1. e.Authenticated = [Validar usuario]
  2.  
  3. if (e.Authenticated)
  4. {
  5.     FormsAuthentication.RedirectFromLoginPage([USER NAME], [RECORDARME]);
  6. }

Eso es lo básico, si tienes dificultades no dudes en preguntar.

Saludos

Última edición por gedarufi; 18/02/2011 a las 13:41 Razón: Corrección en el código
  #8 (permalink)  
Antiguo 21/02/2011, 06:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

gadarufi, el web config esta igual, el tema esque una vez autenticado.

podra tener a toda la carpeta backstage(es lo querido). pero lo que no quiero q hagan, es: que si un aspx se llama clientes.aspx, los usuarios puedan escribir en la barra de direcciones, proveedores.aspx, y lo abra igual... eso es lo que quiero denegar... OJO clientes.aspx y proveeedores.aspx, estarian dentro de /backstage
  #9 (permalink)  
Antiguo 21/02/2011, 07:10
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

CREO QUE ME EXPRESE MAL AN INICIO:

tengo una website ASP.net c#, con autenticacion Form

<sessionState timeout="60"></sessionState>
<authorization>
<allow users="asp_net" />
<deny users="?" />
</authorization>
<authentication mode="Forms">
<forms name="frm" path="/" loginUrl="login.aspx" protection="All" slidingExpiration="true" timeout="60">
</forms>
</authentication>

...


Luego de autenticar y lo que quiero bloquear es:

QUE NO PUEDAN PONER EL LINK MANUALMENTE... es decir que venga solo de otro link desntro del sitio, que los usuarios no puedan cambiar cleints.aspx por proveedores.aspx...

estos dos webForms estna dentro de la misma carpeta y comparten el mismo permiso....



ESPERO ME ENTIENDAN...
  #10 (permalink)  
Antiguo 21/02/2011, 07:14
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Denegar pegar link en navegador

Hola ibauerle para que te evites esos problemas porque mejor no lo trabajas con popups?
PDT: Con que lenguaje trabajas?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 21/02/2011 a las 07:26 Razón: tipo de lenguaje
  #11 (permalink)  
Antiguo 21/02/2011, 07:43
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Denegar pegar link en navegador

en tu codigo donde validas el usuario podrias ponerle esto para abrir en un form la parte de tu session
Código vb.net:
Ver original
  1. 'Abres Session
  2.                             Session("adm") = objeto.nick.ToString
  3.                             'seguridad de logeo
  4.                             Dim popup As New StringBuilder
  5.                             popup.Append("<script>")
  6.                             popup.Append("window.open('home_adm.aspx','_blank','toolbar=0,location=0,menubar=0,resizable=0,width=1366,height=768,top=5,left=5,scrollbars=1');")
  7.                             popup.Append("</script>;")
  8.                             'Response.Write("<script language='Javascript'> alert('Por favor seleccione la opcion YES para cerrar la ventana por su seguridad'); </script>")
  9.                             Response.Write(popup)
  10.                             txtNick.Text = ""
  11.                             Page.ClientScript.RegisterStartupScript(Me.GetType(), "script", "CerrarVentana();", True)

y en el html de tu diseño pones los javascript correspondientes, que van dentro del HEAD :

Código javascript:
Ver original
  1. <script type="text/javascript">
  2.  
  3.              //Código para cerrar la ventana  
  4.              function CerrarVentana() {
  5.                  // ventana.close();
  6.                  var w = window.self;
  7.                  w.opener = window.self;
  8.                  w.close();
  9.              }
  10.  
  11.              //Código para inhabilitar el clic derecho del mouse  
  12.              function bderecho(e) {
  13.                  if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2))
  14.                      return false;
  15.                  else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) {
  16.                      alert(" El botón derecho del ratón no funciona ");
  17.                      return false;
  18.                  }
  19.                  return true;
  20.              }
  21.              if (document.layers) window.captureEvents(Event.MOUSEDOWN);
  22.              window.onmousedown = bderecho;
  23.              document.onmousedown = bderecho;
  24.  
  25.             </script>

Espero te sea de utilidad. Saludos!
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #12 (permalink)  
Antiguo 21/02/2011, 10:19
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

de todo, c#, j#, javsscript, porque el sitio esta en su etapa final de desarollo con masterpages y webforms cambiar todo a popup seria imposbile.

Simepre supimos este problema, pero lo dejamos para el final... ahora no encontramos nada, aun para solucionar esto...

he pensado en validar en cada page_laod, o hacer un override, heredando de una clase base que valdie en cada metodo que proceda de un parametro enviado por la pagina anterior...

pero queria saber si habia algo mas simple, algo que fuera como propiedad, como el page.ispostback que dice si es primera o segunda y mas veces, algo asi!!...


:(
  #13 (permalink)  
Antiguo 21/02/2011, 10:33
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Denegar pegar link en navegador

Hola ibauerle! descuida no tienes que cambiar todo... eso solo iria en el proceso del logueo... y lo demas queda encajado en el popup
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #14 (permalink)  
Antiguo 21/02/2011, 10:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

gracias aquaventus, tienes msn? agregame [email protected]
  #15 (permalink)  
Antiguo 21/02/2011, 10:43
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Denegar pegar link en navegador

si esta debajo de mi avatar, en la mariposa del msn.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #16 (permalink)  
Antiguo 21/02/2011, 13:45
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

protected void Login1_Authenticate1(object sender, AuthenticateEventArgs e)
{
xxxxx.Usuario u = new xxxxx.Usuario(Login1.UserName, Login1.Password);
e.Authenticated = u.Autenticado;
if (e.Authenticated)
{
FormsAuthentication.SetAuthCookie(u.UserName, false);
Request.Cookies.Add(new HttpCookie("UserName", u.UserName));
FormsAuthentication.RedirectFromLoginPage(u.UserNa me, false);

StringBuilder popup = new StringBuilder();
popup.Append("<script>");
popup.Append("window.open('defaults2.aspx','_blank ','toolbar=0,location=0,menubar=0,resizable=0,widt h=1366,height=768,top=5,left=5,scrollbars=1');");
popup.Append("</script>;");
Response.Write(popup);


SIN EMBARGO, ME ABRE EL siempre el webforms seteado en el control login1:

BorderPadding="2" DestinationPageUrl="~/Defaults.aspx" onauthenticate="Login1_Authenticate1"



q esta mal?
  #17 (permalink)  
Antiguo 21/02/2011, 13:53
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Denegar pegar link en navegador

Como?? no te entendi
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #18 (permalink)  
Antiguo 21/02/2011, 14:40
 
Fecha de Ingreso: septiembre-2008
Mensajes: 26
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Denegar pegar link en navegador

da igual, creo que preguntare en cada page_load. si viene de una pagina anterior... y mandandole un parametro entre aspx. para denegar el acceso cunado un usario pegue el link arriba en la barra...

MUCHAS GRACIAS AQUAVENTUS, POR TU AYUDA....

Etiquetas: link, pegar, navegadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:31.