jueves, 28 de mayo de 2009

Obtener la IP del cliente en aspnet

1 comentario:
Obtener la Ip del cliente es muy facil, solo tiene que usar el siguiente codigo:

context.Request.UserHostAddress;

y puede obtener mas información ejemplo:
Url donde se origino el ingreso a su sitio:
context.Request.UrlReferrer.OriginalString
context.Request.Url.OriginalString


esto es basico pero mucha gente lo hace con java script o simplemente no lo hace.
Ver

Cómo deshabilitar herencia web.config para subcarpetas en ASP.NET? (remove)

3 comentarios:
En wwwroot tengo el web config general el cual tiene un connectionStrings asi:
< connectionStrings >
< add name="cnstring1" connectionString="Data Source=xx;User ID=xx;Password=yy;/ >
< add name="cnstring2" connectionString="Data Source=xx;User ID=xx;Password=yy;/ >


y en un nuevo directorio virtual(sub carpeta) tiene su propio web config:

< connectionStrings >
< add name="cnstring1" connectionString="Data Source=yy;User ID=yy;Password=xx;/ >


este codigo da un error* por que el web config padre tiene una entrada igual, lo mas logico seria usar la del padre pero yo necesito que la entrada sea la misma pero con diferencias en los valores.

*detalle del error
Configuration Error
Ya se ha agregado la entrada 'cnstring1'.
(C:\Inetpub\wwwroot\test\web.config line 27)


Soluciones:
< remove / >
< clear / >

Ejemplo del remove.
< connectionStrings >
< remove name="cnstring1" />
< add name="cnstring1" connectionString="Data Source=xx;User ID=xx;Password=yy;/ >


aqui ya funciona, si van usar el clear solo tengan cuidado por que limpia todas las opciones heredadas.

Referencia completa msdn.
http://msdn.microsoft.com/es-es/library/6d7742fh.aspx
Ver

lunes, 25 de mayo de 2009

Acceso a Columnas invisible en un GridView Control

No hay comentarios.:
Resumen:
Al mostrar los datos en un GridView siempre debe ser muy cuidadoso de no mostrar la llave primaria de la tabla en GridView. Lamentablemente todas las columnas invisibles de un DataGrid se almacena en el Viewstate, por tanto, abrió un enorme agujero de seguridad. GridView no permite al cliente ver lo invisible y la columnas no se almacenan en el objeto Viewstate. En este artículo veremos que la forma en que podemos acceder a las columnas de la invisible GridView control
Accesando a columnas invisibles.
La primera cosa que necesita hacer es establecer la propiedad DataKeyNames a la llave principal de la tabla, que en mi caso es "PersonID".

< asp:GridView ID="gvMaster" runat="server" AutoGenerateColumns="False" CellPadding="4"
DataKeyNames="PersonID" DataSourceID="mySource" ForeColor="#333333" GridLines="None" >
< FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" / >
< RowStyle BackColor="#EFF3FB" / >
< Columns >
< asp:CommandField ShowSelectButton="True" / >
< asp:BoundField DataField="PersonID" HeaderText="PersonID" InsertVisible="False"
ReadOnly="True" SortExpression="PersonID" Visible="False" / >
< asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" / >
< asp:TemplateField HeaderText="Select" >
< ItemTemplate >
< asp:CheckBox ID="CheckBox1" runat="server" / >
< /ItemTemplate >
< /asp:TemplateField >
< /Columns >
< PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" / >
< SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" / >
< HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" / >
< EditRowStyle BackColor="#2461BF" / >
< AlternatingRowStyle BackColor="White" / >
< /asp:GridView >

El GridView control consta de tres columnas (dejar fuera la columna seleccionar) PersonID, nombre y una casilla de verificación columna. PersonID columna es la llave principal y se ha marcado como invisible. También tenemos un simple control Button en el formulario web que cuando se pulsa itera a través de la GridView control y muestra las llaves principales de las columnas que han sido verificados mediante el control CheckBox.

Veamos el código de evento Click del botón:

protected void Button1_Click(object sender, EventArgs e)
{

string str = String.Empty;

int rowNo = 0;

foreach (GridViewRow row in gvMaster.Rows)

{

bool isChecked = ((CheckBox)row.FindControl("CheckBox1")).Checked;

if (isChecked)

{

// Gets the name of the primary key column our primary key is the PersonID

string primaryKey = gvMaster.DataKeyNames[0];

int personID = (int) gvMaster.DataKeys[rowNo].Value;

Response.Write(personID);

}

// increment the row count
Ver

jueves, 21 de mayo de 2009

Exportar un gridview a un Archivo de texto delimitado

No hay comentarios.:












Aqui hay un ejemplo grafico y html de como quedara la pagina.

y el codigo del boton buscar:
protected void btnbuscar_Click(object sender, EventArgs e)
{
string sql = "";
OracleDataAdapter da = new OracleDataAdapter("", cn);
DataSet ds = new DataSet();
sql = "select campo,campo from tabla";
da.SelectCommand.CommandText = sql;
da.Fill(ds, "tabla1");
GridView1.DataSource = ds.Tables["tabla1"];
GridView1.DataBind();
}

código del boton exportar;
protected void exportar_Click(object sender, EventArgs e)
{
if (txtcaracter.Text == "")
{
txtcaracter.Text = "";
}
if (txtfile.Text == "")
{
txtfile.Text = "";
}
string sql = "";
OracleDataAdapter da = new OracleDataAdapter("", cn);
DataSet ds = new DataSet();
sql = "select tramite,descripcion from sotramitestb";
da.SelectCommand.CommandText = sql;
da.Fill(ds, "tabla1");
GridView1.DataSource = ds.Tables["tabla1"];
GridView1.DataBind();
StringWriter stringWrite = new StringWriter();
for (int i = 0; i <= (ds.Tables["tabla1"].Rows.Count - 1);i++)
{
for (int j = 0; j <= (ds.Tables["tabla1"].Columns.Count - 1); j++)
{
//str.Append(ds.Tables[0].Rows[i][j].ToString());
stringWrite.Write(ds.Tables[0].Rows[i][j].ToString());
if ((ds.Tables["tabla1"].Columns.Count - 1) != j)
{
stringWrite.Write(txtcaracter.Text);
}
}
stringWrite.WriteLine("");
}
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename="+txtfile.Text);
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.text";
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
Response.Write(stringWrite.ToString());
Response.End();
}


si les sirvio dejen comentario.
Ver

miércoles, 20 de mayo de 2009

Listas genéricas: System.Collections.Generic.List<>

No hay comentarios.:
Esta clase existe desde la versión 2.0 de .NET Framework osea que son algo viejitas pero he notado que no las usan, pero son realmente maravillosas, las adoro, son lo maximo. Estoy enamorado de ellas.
MSDN:
Representa una lista de objetos con establecimiento inflexible de tipos a la que se puede obtener acceso por índice. Proporciona métodos para buscar, ordenar y manipular listas.
Espacio de nombres(namespace): System.Collections.Generic
Ensamblado: mscorlib (en mscorlib.dll)

Permite hacer istas de cualquier cosa, desde un listado de strings hasta un listado de la clase más compleja que tengan, adicionalmente posee funciones muy útiles como buscar un índice, ordenar,comparar, etc.

Ejemplo practico de una lista:
Definición:
public class tabla{
private string _col1;
private string _col2;
private string _col3;
private string _col4;
public tabla(string col1, string col2, string col3, string col4)
{
_col1 = col1;
_col2 = col2;
_col3 = col3;
_col4 = col4;
}
public string col1 { get { return _col1; } set { _col1 = value; } }
public string col2 { get { return _col2; } set { _col2= value; } }
public string col3 { get { return _col3; } set { _col3 = value; } }
public string col4 { get { return _col4; } set { _col4 = value; } }
}
como se llena la lista(cliente):
List < tabla > enc = new List < tabla >();
enc.Add(new tabla("Status:", lblestatusactual.Text, "Fecha:", lblfecha.Text));
enc.Add(new tabla("Departamento:", lbldepartamento.Text, "Paso:", lblpaso.Text)); enc.Add(new tabla("Trámite:", lbltramite.Text, "", ""));
enc.Add(new tabla("Solicitud:", lblsolicitud.Text, "", ""));

como leer la lista:
for (int x = 0; x < enc.Count; x++)
{
string uno=enc[x].col1;
}
o al lugar de leerlo mejor a un grid:
private void arreglaDatos(List tablaresultados)
{
GridView1.DataSource = tablaresultados;
}

Adicionalmente tiene funciones de busqueda y ordenación aquí les copio la informacion que tiene msdn, sobre las propiedades y métodos que poseen.
http://msdn.microsoft.com/es-es/library/d9hw1as6(VS.80).aspx

Propiedades públicas
Capacity Obtiene o establece el número total de elementos que puede contener la estructura de datos interna sin cambiar el tamaño.
Count Obtiene el número de elementos contenido realmente en List. Item Obtiene o establece el elemento que se encuentra en el índice especificado.

Métodos
Add Agrega un objeto al final de List.
AddRange Agrega los elementos de la colección especificada al final de List.
AsReadOnly Devuelve un contenedor de IList de sólo lectura para la colección actual. BinarySearch Sobrecargado. Utiliza un algoritmo de búsqueda binaria para localizar un elemento concreto en la List ordenada o en una parte de ella.
Clear Quita todos los elementos de List. Contains Determina si un elemento se encuentra en List. ConvertAll Convierte en otro tipo los elementos incluidos en el objeto List actual y devuelve una lista que contiene los elementos convertidos.
CopyTo Sobrecargado. Copia el objeto List o una parte del mismo en una matriz.
Equals Sobrecargado. Determina si dos instancias de Object son iguales. (Se hereda de Object).
Exists Determina si List contiene elementos que cumplen las condiciones definidas por el predicado especificado.
Find Busca un elemento que cumpla las condiciones definidas por el predicado especificado y devuelve la primera aparición en todo el objeto List.
FindAll Recupera todos los elementos que cumplen las condiciones definidas por el predicado especificado.
FindIndex Sobrecargado. Busca un elemento que cumpla las condiciones definidas por un predicado especificado y devuelve el índice de base cero de la primera aparición en el objeto List o en una parte de él.
FindLast Busca un elemento que coincida con las condiciones definidas por el predicado especificado y devuelve la última aparición en todo el objeto List.
FindLastIndex Sobrecargado. Busca un elemento que cumpla las condiciones definidas por un predicado especificado y devuelve el índice de base cero de la última aparición en el objeto List o en una parte de él.
ForEach Realiza la acción especificada en cada elemento de List.
GetEnumerator Devuelve un enumerador que recorre en iteración la colección List. GetHashCode Sirve como función hash para un tipo concreto. GetHashCode es apropiado para su utilización en algoritmos de hash y en estructuras de datos como las tablas hash. (Se hereda de Object).
GetRange Crea una copia superficial de un intervalo de elementos en el objeto List de origen.
GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object). IndexOf Sobrecargado. Devuelve el índice de base cero de la primera aparición de un valor en la List o en una parte de ella.
Insert Inserta un elemento en List, en el índice especificado. InsertRange Inserta los elementos de una colección en List en el índice especificado. LastIndexOf Sobrecargado. Devuelve el índice de base cero de la última aparición de un valor en la List o en una parte de ella.
ReferenceEquals Determina si las instancias de Object especificadas son la misma instancia. (Se hereda de Object). Remove Quita la primera aparición de un objeto específico de List.
RemoveAll Quita todos los elementos que cumplen las condiciones definidas por el predicado especificado.
RemoveAt Quita el elemento en el índice especificado de List.
RemoveRange Quita todos los elementos de List.
Reverse Sobrecargado. Invierte el orden de los elementos en la List o en una parte de ella. Sort Sobrecargado. Ordena los elementos en la List o en una parte de ella.
ToArray Copia los elementos de List en una nueva matriz.
ToString Devuelve una clase String que representa la clase Object actual. (Se hereda de Object
Ver

martes, 19 de mayo de 2009

Bill Gates el hombre mas rico del mundo en el 2009

No hay comentarios.:
La lista de la Revista Forbes del año 2009 ya sido publicada.
Los primeros 25 lugares:
Fortuna en miles de millonares de dólares americanos (US$).

Lugar -Nombre-------------- Ciudadania -----Fortuna- Industria
1-----William Gates III -----Estados Unidos --40------- propietario mayoritario de Microsoft
2-----Warren Buffett--------Estados Unidos-- 37-------- Inversionista(Berkshire Hathaway)
3---- Carlos Slim Helu-------México---------- 35---------Telecomunicaciones(Telmex)
4 ---Lawrence Ellison -------Estados Unidos-- 22.5-------- Oracle
5--- Ingvar Kamprad -------Suecia------------22
6 ---Karl Albrecht-----------Alemania-------- 21.5
7--- Mukesh Ambani--------India-------------19.5
8 ---Lakshmi Mittal-------- India------------- 19.3
9 ---Theo Albrecht---------Alemania--------- 18.8
10--- Amancio Ortega------Spain------------ 18.3
11--- Jim Walton ----------Estados Unidos ---17.8
12--- Alice Walton---------Estados Unidos----17.6
12--- Christy Walton------ Estados Unidos----17.6
12--- S Robson Walton---- Estados Unidos--- 17.6
15---Bernard Arnault----- Francia -----------16.5
16--- Li Ka-shing--------- Hong Kong-------- 16.2
17--- Michael Bloomberg--Estados Unidos ----16
18--- Stefan Persson ------Suecia------------- 14.5
19--- Charles Koch --------Estados Unidos ----14
19--- David Koch ----------Estados Unidos---- 14
21--- Liliane Bettencourt---Francia -----------13.4
22--- Príncipe Bin Talal----Arabia Saudita---- 13.3
23--- Michael Otto --------Alemania ----------13.2
24--- David Thomson----- Canadá-------------13
25--- Michael Dell ---------Estados Unidos---- 12.3
Ver

viernes, 15 de mayo de 2009

Ejemplo muy practico del Server.Transfer (pagina viejita x pagina nueva)

1 comentario:
Lo primero quiero medio explicar la diferencia entre Server.Transfer y Response.redirect("")
Basicamente la direrencia es la siguiente
Response.redirect("")
Se utiliza para cambiar de pagina, lo que hace realmente es indica al navegador que cambie la pagina. Lo malo es que se pierde el form(post) y algunas otras cosas.

Server.Transfer
Es muy similar al anterior pero deja los form(post) habilidado.

ahora un ejemplo del Server.Transfer
Quiero cambiarle entren a mi nueva pagina nueva pero las personas tiene registrada mi pagina anterior, ejemplo:
la gente navega aquí siempre su pagina viejita.
Default.aspx
y ustedes crearon su nuevo default
DefaultSilverlight.aspx
y quieren que cuando entren a Default muestre el contenido del DefaultSilverlight sin que el URL cambie a DefaultSilverlight.
no tiene que usar un Response.redirect("") por que esto los cambiara de pagina y tambien lo hara en la direccion de su navegador, lo que tiene que hacer para lograr el objetivo es:
Utilizar el famoso
Server.Transfer("DefaultSilverlight");
y ustedes veran el contenido del la nueva pagina pero el URL de la anterior,

Esto es muy util cuando quiere renombrar una pagina pero las personas continuan ingresando a la anterior.

No esta de mas recordarles que si les gusto, o les sirvio dejen un comentario. = )
Ver

posición de una subcadena(sql server, oracle)

1 comentario:
Charindex la función se usa en Microsoft SQL Server para recuperar la posición de una subcadena en la cadena especificada. Oracle utiliza la función INSTR. Estas funciones tienen la misma sintaxis y difieren en el parámetro de orden.

Ejemplo del uso Charindex
1> DECLARE @FullName VarChar(25), @SpaceIndex TinyInt
2> SET @FullName = 'www.asp.net'
3>
4> -- Obtener el índice de delimitado de el espacio:
5> SET @SpaceIndex = CHARINDEX('asp', @FullName)
6> -- retorna todos los caracteres de la izquieda del espacio
7> SELECT LEFT(@FullName, @SpaceIndex - 1)
8> GO

repuesta:
www.


Ejemplo de conversion de Microsoft SQL Server CHARINDEX para oracle Oracle









Microsoft SQL Server
Oracle
CREATE PROCEDURE sql_sp_charindex
as
begin
DECLARE @a VARCHAR(10)
DECLARE @b VARCHAR(10)
charindex (@a,@b)
end;

CREATE OR REPLACE PROCEDURE sql_sp_charindex
AS
v_a VARCHAR2(10);
v_b VARCHAR2(10);
BEGIN
INSTR(v_b,v_a);
end;

CREATE PROCEDURE sql_sp_charindex2
as
begin
DECLARE @a VARCHAR(10)
DECLARE @b VARCHAR(10)
charindex (@a,@b,1)
end;
CREATE OR REPLACE PROCEDURE sql_sp_charindex2
AS
v_a VARCHAR2(10);
v_b VARCHAR2(10);
BEGIN
INSTR(v_b,v_a,1);
end;


Tambien puede combinar con el sub string

Ejemplo

DECLARE @FullName VarChar(25)
SET @FullName = 'www.asp.net'

SELECT SUBSTRING(@FullName, 1,CHARINDEX('asp', @FullName) - 1)
GO


respuesta:
www.
Ver

martes, 12 de mayo de 2009

Que tan buen trabajador eres segun tu signo

No hay comentarios.:
Capricornio
Dado el carácter responsable y persistente que distingue a los Capricornio, te encanta el orden público y eres una persona dogmática en la creencia de que una regla es una regla y una orden es una orden. Tienes una gran confianza en tu capacidad y puedes trabajar con empeño para conseguir tus objetivos. Tu forma de trabajar es ordenada y metódica, y te esfuerzas por conseguir la precisión.

Eres un trabajador(a) excelente en cualquier ámbito que elijas. No te gusta depender de los demás; prefieres tomar la iniciativa. También eres de las personas que prefieres los empleos duraderos, ya que no te gustan los cambios. Los ámbitos de trabajo ideales serían la ley, educación, historia, ciencia, arquitectura y construcción, y arqueología o geología.

Si eres una mujer Capricornio, te gustan los empleos en los que puedes hacer uso de tu sentido práctico y que requieren que seas minuciosa. No te sientes amenazada por proyectos que pueden durar toda una vida, porque tienes la paciencia y el aguante necesarios para llevarlos a cabo. Por ejemplo, excavar una ciudad maya con una cucharita te puede parecer apasionante.

Si eres un hombre Capricornio, sueles escoger empleos más bien conservadores que te proporcionan autoridad, estatus y seguridad. Es probable que trabajes en una profesión que no te exponga a demasiada gente, ya que prefieres trabajar únicamente con unas cuantas personas.

Tus compañeros de trabajo admiran tu disciplina y diligencia. Sin embargo, a veces les gustaría que fueras una persona menos seria, tediosa y exhaustiva.

Tus cualidades como jefe se basan en tus habilidades para dirigir, tu actitud paternal y tu paciencia. De vez en cuando, puedes llegar a ser inaccesible e insensible con las personas que trabajan contigo; deberías ser más abierto.

Sin duda, la clave de tu éxito es tu sorprendente grado de compromiso, paciencia y resistencia. Nunca flaqueas ni te rindes. Eres el tipo de persona que acaba teniendo éxito al final, mientras que otros se rinden mucho antes.


Leo

Dada la confianza y creatividad que caracterizan a los Leo, necesitas tener público. Para ti es importante tener un determinado estatus y reputación, por lo que necesitas reconocimiento y admiración. Asimismo, anhelas ser una persona creativa y autosuficiente.

Tu profesión ideal debe proporcionarte cierto reconocimiento y fama; por lo tanto, la industria del entretenimiento sería la elección perfecta. Serías excelente como actor, artista, cantante, bailarín o cómico. Si eliges un entorno corporativo, probablemente tu objetivo será conseguir un puesto de representante de alto nivel.

Si eres una mujer Leo, puedes sacar el máximo partido de tu carisma. Convences rápidamente a las personas y te desenvuelves bien en cualquier tipo de trabajo en el que tengas que conseguir clientes para la empresa. Por lo tanto, trabajos relacionados con las ventas, el marketing o el asesoramiento resultan adecuados para ti.

Si eres un hombre Leo, te gustarán los empleos en los que puedas ser la única persona al mando, quien organice y dirija al equipo. Las profesiones estructuradas por proyectos que requieren creatividad resultan apropiadas para ti, ya que tu principal motivación es conseguir el reconocimiento y los aplausos al final.

Tus compañeros de trabajo valoran tu actitud generosa y sincera, así como tu naturaleza entusiasta y constante. Aunque a veces puedes ser un individuo bastante arrogante y engreído, en general eres una persona con la que resulta divertido trabajar.

Eres un jefe modelo y te esfuerzas por ser un ejemplo para tu equipo. Normalmente eres una persona tranquila y paciente con tus empleados, y toleras sus modos de trabajar particulares. Sin embargo, si adviertes que alguien quiere aprovecharse de tu liberalismo, puedes llegar a ser un completo déspota.

La clave de tu éxito es indudablemente tu aspecto carismático que deja una huella duradera en los demás. Tus sensacionales actuaciones hacen que te ganes a las personas, quienes valoran tu honradez y generosidad.

Tauro

Dada la fiabilidad y la sensualidad que caracterizan a los Tauro, te atraen las profesiones relacionadas con el dinero y la economía, así como por el mundo estético y extravagante.

Una profesión adecuada sería la de constructor o agente inmobiliario, o incluso agente de bolsa o asesor financiero, ya que eres consciente del valor presente y futuro de las cosas. Por otro lado, también podrías optar por trabajar como decorador de interiores, joyero o anticuario, porque tienes un sentido de la belleza y el lujo inconfundible.

Si eres una mujer Tauro, te gusta aconsejar a la gente sobre cómo mejorar su situación económica, su casa o jardín, e incluso su aspecto físico. Cualquier profesión relacionada con la estética y el buen gusto te va como anillo al dedo. Las profesiones en las que tienes que ensuciarte o manipular cosas desagradables y repugnantes no están hechas para ti.

Si eres un hombre Tauro, te gustan las profesiones en las que puedes aplicar tu sentido racional, eficiente y concienzudo del trabajo. Por la importancia que das a las cosas materiales, te gusta dedicarte a profesiones relacionadas con el dinero o los objetos preciosos. Dado que no eres amigo de los cambios, los puestos fijos en los que puedes alcanzar un puesto de responsabilidad son perfectos para ti.

Tus compañeros de trabajo te consideran un miembro leal y sumamente responsable del equipo. Saben que nunca los defraudarás. Sin embargo, a veces desearían que fueras una persona un poco más flexible y menos testaruda.

Como jefe, eres de los que dan órdenes claras, hacen planificaciones realistas y mantienen una actitud de calma y equilibrio incluso en momentos de estrés.

La clave de tu éxito es tu paciencia y objetividad. Sabes distinguir muy bien cuándo hay que divertirse y cuándo concentrarse en el trabajo y, una vez que te concentras, nada puede distraerte.


Cáncer

Dada la comprensión y compasión que caracterizan a los Cáncer, te convienen todos los trabajos de asistencia. Eres una persona intuitiva y positiva, lo que te convierte en el signo del zodíaco más sociable, bondadoso y compasivo.
Para aprovechar esta facultad única, es posible que decidas escoger profesiones como la psicología, trabajador social o enfermería. También pueden resultar ideales las profesiones que te permiten divertirte. Por lo tanto es posible que te guste trabajar como entrenador físico en un balneario, camarero de un pequeño restaurante de barrio o capitán de un barco de crucero.
Si eres una mujer Cáncer, puedes sacar provecho de tu instinto maternal protector y decidir ser profesora de guardería o comadrona. Dado que te gusta crear un entorno seguro y a la vez bonito, también disfrutarías siendo decoradora de interiores o florista.
Si eres un hombre Cáncer, te gustará relacionarte con personas, por lo que es posible que seas psicoterapeuta, asesor matrimonial o profesor. En caso de tener hijos, es poco probable que un hombre Cáncer decida quedarse en casa cuidando de ellos todo el día.

Como norma general, tus compañeros de trabajo te ven como una persona afectuosa, compasiva y comprensiva. En las discusiones sueles tomarte las cosas demasiado a pecho, y a tus compañeros de trabajo les gustaría que fueras más objetivo y realista. No obstante, cuando el ambiente está tenso en el trabajo, valoran tus cualidades conciliadoras.
Como jefe, eres una persona muy noble y proteges a tu equipo. Intentas ayudarlos y respaldarlos cuando puedes. Sin embargo, dado que eres una persona muy emotiva, puedes tener cambios bruscos de humor.
La clave de tu éxito es tu intuición e imaginación. Eres capaz de crear una atmósfera de seguridad y bienestar, que es una cualidad muy valiosa, especialmente para las personas que la necesitan.


Virgo

Como Virgo, enfocas el trabajo de un modo sistemático. Te fascinan las profesiones que te permiten analizar y examinar las cosas a fondo. Eres una persona muy concienzuda y te encanta la precisión y la exactitud, lo que te convierte en el signo más meticuloso y riguroso del zodíaco.

Por ello no sorprende que sean las ciencias naturales el campo donde coseches más éxitos. Eres un investigador nato; tu paciencia y perseverancia te lleva a investigar cuanto haga falta hasta obtener las respuestas que necesitas. Asimismo, tienes facilidad con los números y las matemáticas, lo que te abre más puertas. Como Virgo, también te atraen las profesiones relacionadas con la salud, por lo que podrías escoger una profesión en la que puedas demostrar todos tus dones.

Si eres una mujer Virgo, podrías elegir una profesión relacionada con la pedagogía, como educadora o profesora de alguna rama científica. Sin embargo, también podrías considerar más fascinante el mundo de la economía y aventurarte a trabajar como analista financiera, asesora fiscal o abogada de una gran empresa.

Si eres un hombre Virgo, te gusta el trabajo metódico y prefieres profesiones que requieran precisión. Podrías optar por ser dentista, ingeniero o médico. Como también te interesan los números, puede que elijas una profesión relacionada con las matemáticas, la física o la economía.

Géminis
Dada la intelectualidad y versatilidad que caracterizan a los Géminis, te convienen las profesiones relacionadas con el proceso y distribución de información y conocimientos. Eres una persona ingeniosa y elocuente, por lo que se te considera el signo más comunicativo del zodíaco.

En consecuencia, probablemente elegirás un trabajo en el sector de los medios de comunicación, entretenimiento, edición o enseñanza. Te gustará cualquier profesión que te permita relacionarte con muchas personas y conocer temas muy diferentes.

Si eres una mujer Géminis, tienes un gran interés por la comunicación oral y escrita, y siempre sabes lo que sucede a tu alrededor. Tienes la facultad de descubrir la esencia de las cosas y encontrar las palabras adecuadas para transmitirla a los demás. Esto te convierte en una profesora, periodista, traductora o escritora perfecta. No te interesan las profesiones que no te implican un reto intelectual.

Si eres un hombre Géminis, te interesarán las profesiones que te permitan expresar tus opiniones, estar en contacto con muchas personas y ser flexible y abierto. Necesitas libertad de pensamiento, y un entorno de trabajo rígido o convencional sería una pesadilla para ti. De este modo, sería perfecto trabajar como periodista o productor de televisión o radio.

Tus compañeros de trabajo te consideran una persona vital, singular y competente, que siempre va por delante de ellos, ya que piensas con mayor rapidez. Dado que siempre estás sugiriendo ideas, saben que pueden confiar en ti cuando necesitan una idea o solución rápida. Como jefe, valoras los miembros del equipo que son independientes y flexibles, y que son capaces de centrarse en lo que realmente importa. Si estás feliz con tu equipo, serás un jefe tolerante y de trato fácil. La clave de tu éxito es tu vigilancia y tu capacidad de actuar rápidamente, no importa cuáles sean las circunstancias. Tu agudeza y elocuencia no tienen comparación.

Aries

Dado el dinamismo y la resolución que caracterizan a los Aries, te covienen las profesiones que requieren fuerza de voluntad y seguridad en ti mismo(a). Los trabajos físicos resultan adecuados para ti por la gran energía que tienen los Aries. Al ser el signo más competitivo, debes optar por una profesión en la que puedas compararte con los demás.

Entre las ocupaciones ideales se encontrarían la ingeniería mecánica, carreras en el ejército o en la policía, o profesiones relacionadas con los deportes o actividades al aire libre. Los Aries siempre se encuentran allí donde haya acción, por lo que es muy habitual que acaben siendo bomberos, asistentes sanitarios o cirujanos.

Si eres una mujer Aries, te inclinarás hacia las profesiones en las que predominan los hombres. Al ser una persona muy independiente, te interesará crear tu propio negocio, o al menos ser la persona que esté al cargo. Es posible que no te agraden las profesiones que requieren paciencia y atención en los detalles. Además, la rutina puede ser algo terrible para ti.


Si eres un hombre Aries, te gusta la acción y necesitas que te desafíen. No te interesan los trabajos que no impliquen un cierto grado de riesgo y aventura. Por lo tanto, ser guardaespaldas, marino o inspector de policía son trabajos ideales para ti. Es probable que no te desenvuelvas bien en profesiones puramente intelectuales o de asistencia.

Tus compañeros de trabajo te consideran alegre y entusiasta, y te admiran por tu empeño cuando te centras en algo. Sin embargo, si crees que alguien intenta ser más astuto que tú, tu competitividad entrará en juego y verán lo egocéntrico(a) e intransigente que puedes llegar a ser.

Como jefee eres una persona fabulosa y de trato fácil. Te gusta dirigir y preocuparte de tu equipo. Tu entusiasmo es contagioso, lo cual es motivo suficiente para que tus empleados te respeten y obedezcan.

La clave de tu éxito radica en que tienes objetivos y que, independientemente de lo que te cueste, luchas fuertemente para conseguirlos. Eres una persona decidida, segura de ti misma, y no estás dispuesta a tirar la toalla.

Libra

Dado el carácter diplomático y pacifista que distingue a los Libra, te interesan todas las cuestiones relativas a las relaciones humanas y la psicología. Necesitas tener gente a tu alrededor para poder progresar y realizarte.

Las profesiones relacionadas con la ley resultan ideales por tu firme sentido de la justicia. También eres estupendo como mediador(a), ya que disfrutas ayudando a las personas a resolver sus problemas personales y lograr la reconciliación. Otras profesiones en las que puedes tener éxito son las relaciones públicas, las artes interpretativas, la música y cualquier tipo de asociación en la que se necesite una estrecha colaboración.

Si eres una mujer Libra, anhelas utilizar tu facilidad de expresión; por lo tanto, sería ideal trabajar en un puesto de representante que te reuniera con personas distintas. Serías una psicoterapeuta o una directora de recursos humanos maravillosa, ya que eres capaz de analizar los problemas y puedes ver a los demás tal como son. Disfrutas ayudando y apoyando a las personas que recurren a ti en busca de orientación.

Si eres un hombre Libra, te preocupa lo que está bien y lo que está mal, y tratas de crear un equilibrio en ti y a tu alrededor. Esto te convierte en un juez ideal, ya que tienes la capacidad de desvincularte de las situaciones y ver las cosas de forma imparcial. Gracias a tu don de gentes, también serías un excelente instructor o agente para artistas, o incluso tú mismo serías un buen artista.

Los compañeros de trabajo suelen recurrir a ti para que los aconsejes. Te consideran una persona colaboradora, prudente y justa que siempre transmite buenas vibraciones.

Como jefe, te preocupa mucho el bienestar de los miembros del equipo. No te gustan las jerarquías; sin embargo, destacas por encima de los demás. A pesar de ello, al intentar complacer a todo el mundo, a veces tienes tendencia a ser una persona indecisa y contradictoria.

La clave de tu éxito es tu capacidad de objetividad y síntesis, combinada con tu don de gentes, ya que te permite controlar y manipular la dinámica de individuos y grupos.

Escorpio

Dado el carácter fuerte y enigmático que distingue a los Escorpio, te convienen las profesiones que permiten investigar la naturaleza de las cosas. Te atrae todo lo complejo, lo misterioso e incluso lo anormal.

Tu búsqueda de lo profundo y lo misterioso hace que destaques en profesiones relacionadas con la ciencia, la investigación y el ocultismo. Por eso, puede que te guste trabajar como químico, farmacéutico, radiólogo, patólogo, espía o detective, o activista político. Sin embargo, tu interés por la medicina alternativa y la espiritualidad puede influir en la elección de tu profesión.

Si eres una mujer Escorpio, podrías optar por convertirte en una "bruja" moderna y utilizar tu profunda perspicacia y tus poderes curativos para ayudar a los demás a conocerse y a buscar un equilibrio entre cuerpo, mente y alma. Puede que prefieras quedarte con los métodos de curación tradicionales y dedicarte a las ramas de la ginecología, urología o psicología.

Si eres un hombre Escorpio, posiblement quieras cambiar el mundo y utilizar tu talento de estratega para dedicarte a la política. Tienes el carisma y la capacidad para atraer a suficientes seguidores, si eso es lo que quieres. Sin embargo, tu fascinación por la criminología y el espionaje puede hacer que escojas una profesión en esos campos.

Tus compañeros de trabajo te consideran apasionado y valiente. Admiran tu tesón y disciplina, y saben que contigo no se juega.

Las cualidades que te definen como jefe son la lealtad, la responsabilidad y el estoicismo. Puedes llegar a ser una persona muy obsesiva y extremista si trabajas en un proyecto y esperas que los demás se sientan de igual modo. Está claro que tu equipo está jugando con fuego contigo.

La clave de tu éxito es tu increíble fuerza de voluntad y la fuerza de la que haces gala cuando te propones algo. No hay quien supere tu inventiva y perseverancia.


Sagitario

Dada la gran visión de futuro y la búsqueda de la verdad que caracterizan a los Sagitario, te preocupa el bienestar de la sociedad. Te gustan las creencias, ideas y principios abstractos. Te caracterizas por ser una persona abierta que mira hacia el futuro. La libertad y la autonomía son importantes para ti.

Las profesiones que te permiten explorar y adquirir conocimientos son perfectas para ti. Por lo tanto, quizás te gusten los empleos que te permitan trabajar en otros países, o al menos viajar a lugares lejanos. También te puede gustar trabajar en una universidad, iglesia u otra institución que luche a favor de una causa.

Si eres una mujer Sagitario, puede que encuentres interesantes las profesiones del sector turístico, y probablemente te gustará trabajar en una agencia de viajes, compañía aérea o cadena de hoteles.

Si eres un hombre Sagitario, tus principios y tu ética quizás te lleven a desempeñar una profesión relacionada con la ley, en concreto el derecho mercantil o la ley comercial, el derecho civil, o la ley de comercio justo. Dada tu naturaleza cosmopolita, si trabajaras en una embajada de otro país serías un excelente cónsul.

Tus compañeros te ven como una persona con una actitud optimista y filosófica ante la vida. Saben que pueden contar con tu honradez y que cumples tus promesas. Sin embargo, de vez en cuando tus comentarios hipócritas pueden molestarles.

Tienes madera de jefe y sabes cómo dirigir un equipo. Planificas con sensatez y tienes objetivos específicos. Te caracterizas por la facultad de inspirar y animar al equipo, a la vez que permites que las personas trabajen de forma independiente.

La clave de tu éxito es tu naturaleza sociable y enérgica, que te permite conseguir los objetivos que te marcas gracias a tu forma de pensar tan positiva.



Acuario

Dada la humanidad y singularidad que caracterizan a los Acuario, destacas en profesiones que precisan tu modo innovador y único de ver la vida. Las reglas no afectan tu forma de pensar, porque igualmente las desconoces. Tiendes a armonizar con la voluntad universal, lo cual te convierte en una persona bastante revolucionaria.

Entre las distintas ocupaciones que serían de tu interés, se encuentran la de inventor, astrólogo, neurólogo, informático, piloto, experto en derribos o dibujante cómico.


Si eres una mujer Acuario, es posible que no des con tu ocupación ideal durante mucho tiempo y que cambies constantemente de profesión. Sin embargo, los empleos que te permiten ser libre y creativa son los que mejor se adaptan a ti, de modo que en un determinado momento puedes plantearte trabajar como azafata, hacer efectos especiales para la industria cinematográfica o elegir una profesión relacionada con las ciencias ocultas.

Si eres un hombre Acuario, quizá descubras antes que no puedes desempeñar un trabajo de 9.00 a 17.00, y buscarás profesiones únicas y poco comunes que te proporcionarán la libertad que necesitas. Es posible que decidas trabajar independientemente y montar tu propio negocio. La aventura, creatividad e independencia deben formar parte de tu profesión; de lo contrario, no pasarás mucho tiempo en ella.

Tus compañeros de trabajo admiran tu actitud única y progresista. Tus excéntricos y peculiares arrebatos a veces pueden resultarles confusos, pero seguirán considerando estimulante tu actitud impredecible y extravagante.

Como jefe, eres una persona humana y amable, aunque a veces puedas parecer distanciada e impersonal. Pasas de ser tolerante a ser intransigente, lo que demuestra que tu signo del zodíaco es el más impredecible.

La clave de tu éxito radica en que te alejas de los patrones convencionales y eres capaz de descubrir nuevos caminos viables. Eres una persona idealista e ingeniosa y podrías contribuir a la creación de la tecnología del futuro de este planeta.


Piscis

Dado el carácter intuitivo y de compenetración que distingue a los Piscis, percibes los sutiles sentimientos ocultos en las interacciones humanas, ya que eres capaz de captar las ideas y perspectivas de los que te rodean. Desde el punto de vista profesional, esto te abre varias puertas si puedes desarrollar, controlar y dirigir tus poderes psíquicos.

Entre las ocupaciones ideales se encontrarían las de asistencia o curación, ya que eres capaz de transmitir compasión y ternura a los demás, lo cual es el primer paso para curar o ayudar. En consecuencia, serías ideal para puestos de enfermería, trabajo social o asesoramiento. Tu gran imaginación y creatividad también te convierten en un estupendo artista, poeta, músico, escultor o bailarín.

Si eres una mujer Piscis, deberías utilizar tus poderes holísticos e introspectivos para trabajar en un hospital o institución donde pudieras cuidar de los demás. Si esto no te llama la atención, elige una profesión creativa, ya que eres una vidente natural que hace que metáforas y arquetipos se conviertan en realidad. Te gustará trabajar de diseñadora gráfica, guionista o compositora de canciones.

Si eres un hombre Piscis, eres muy reflexivo y tienes una gran capacidad de síntesis. Tu actitud idealista ante la vida hace que seas especialmente indicado para trabajar con personas. Quizás te guste ayudar a reclusos, drogadictos o alcohólicos a retomar las riendas de su vida. También puedes trabajar en el campo de las ciencias como químico, farmacéutico o médico anestesista. También te atrae el agua, por lo que quizás consideres la posibilidad de trabajar en algo relacionado con el transporte marítimo o la navegación.

Tus compañeros de trabajo tienen un buen concepto de ti, ya que eres un miembro del equipo desinteresado, modesto e inspirador. Tus contribuciones al equipo son creativas, insólitas e imprescindibles.

Como jefe Piscis, no crees en la eficacia de mantener un control estricto sobre tu equipo. Eres tolerante y fácil de complacer. Sin embargo, a veces puedes dar órdenes imprecisas y poco realistas que llegan a provocar confusión. De vez en cuando, también puedes ser algo mártir, ya que asumes toda la responsabilidad.

La clave de tu éxito es tu imaginación y empatía. Si encuentras tu profesión y sabes aprovechar estas cualidades tan preciadas, podrás conseguir una gran reputación.
Ver

lunes, 11 de mayo de 2009

Usar Parametros sin mostrarlos (RewritePath)

2 comentarios:
En ciertas ocaciones tenemos que usar parametros ejemplo Default2.aspx?p=1 pero no queremos que se miren es mas por seguridad seria muy bueno.

el sitio ingresa por default aqui:

http://localhost/prueba/Default.aspx

Dentro de default queremos ingresar a la seguna pagina enviando parametros:

http://localhost/prueba/Default2.aspx?p=1

pero aqui ocurre lo que no queremos que se mire el parametro, como deberiamos cambiarlo para que funcione el parametro pero que no se mire. Deberiamos hacerlo asi


http://localhost/prueba/Default.aspx/sitio2

pero como notan no estamos enviando el parametro y funcionara igual si siguien los siguiente pasos:

1.) Ingrese al Global.asax si no esta generelo.
2.) Capture el evento Application_BeginRequest

Ejemplo:
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)

If HttpContext.Current.Request.Path.ToLower.Contains("sitio2") Then
HttpContext.Current.RewritePath("~/Default2.aspx?p=2")
End If

End Sub

ingresara a la Default 2 enviara el parametro y no se vera en que ruta estan ya que en el URL de la pagina seguira saliento http://localhost/prueba/Default.aspx

espero que esto ayude alguien.
Ver

viernes, 8 de mayo de 2009

RequiredFieldValidator.InitialValue (Propiedad)

No hay comentarios.:
MSDN:
Obtiene o establece el valor inicial del control de entrada asociado.
Ejemplo:Se puede utilizar para garantizar que el usuario selecciona un elemento del cuadro de lista(DropDownList , ListBox)

Ejemplo Practico:

< %@ Page Language="VB" AutoEventWireup="True" % >
< html >
< head runat="server" >
< title >RequiredFieldValidator InitialValue Example< /title >
< /head >
< body >
< form id="form1" runat="server" >
< h3 >RequiredFieldValidator InitialValue Example< /h3 >
< asp:ListBox id="list"
runat="server" >
< asp:ListItem Value="Australia" >Australia< /asp:ListItem >
< asp:ListItem Selected="True" Value="NoCountry" >--ChooseCountry-- < /asp:ListItem >
< asp:ListItem Value="USA" >USA< /asp:ListItem >
< /asp:ListBox >

< asp:RequiredFieldValidator id="valList"
ForeColor="#FF0000"
ErrorMessage="Selection Invalid!"
ControlToValidate="list"
InitialValue="NoCountry"
EnableClientScript="False"
runat="server"/ >
< br />
< asp:Button id="Button1"
Text="Submit"
runat="server"/ >
< /form >
< /body >
< /html >
Ver

miércoles, 6 de mayo de 2009

Inyección SQL

1 comentario:
Inyección SQLInyección SQL es una vulnerabilidad informática en el nivel de la validación de las entradas a la base de datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las partes del programa con código SQL. Es, de hecho, un error de una clase más general de vulnerabilidades que puede ocurrir en cualquier lenguaje de programación o de script que esté incrustado dentro de otro.Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro de otro código SQL para alterar su funcionamiento normal, y hacer que se ejecute maliciosamente el código "invasor" en la base de datos.
La inyección SQL es un problema de seguridad informática que debe ser tomado en cuenta por el programador para prevenirlo. Un programa hecho con descuido, displicencia, o con ignorancia sobre el problema, podrá ser vulnerable y la seguridad del sistema puede quedar ciertamente comprometida. Esto puede suceder tanto en programas ejecutándose en computadores de escritorio, como en páginas Web, ya que éstas pueden funcionar mediante programas ejecutándose en el servidor que las aloja.
La vulnerabilidad puede ocurrir cuando un programa "arma" descuidadamente una sentencia SQL, con parámetros dados por el usuario, para luego hacer una consulta a una base de datos. Dentro de los parámetros dados por el usuario podría venir el código SQL inyectado.
Al ejecutarse esa consulta por la base de datos, el código SQL inyectado también se ejecutará y podría hacer un sinnúmero de cosas, como insertar registros, modificar o eliminar datos, autorizar accesos e, incluso, ejecutar código malicioso en el computador.
Asumiendo que el siguiente código está en una aplicación web y que existe un parámetro "nombreUsuario" que contiene el nombre de usuario que nosotros le demos, la inyección SQL es posible:

consulta := "SELECT * FROM usuarios WHERE nombre = '" + nombreUsuario + "';"

Si el usuario escribe su nombre, digamos "Alicia", nada anormal sucedería, la aplicación generaría una sentencia SQL similar a la siguiente, que es perfectamente correcta, en donde se seleccionaría al usuario "Alicia":

SELECT * FROM usuarios WHERE nombre = 'Alicia';

Pero si un usuario malintencionado escribe como nombre de usuario:
"Alicia'; DROP TABLE usuarios; SELECT * FROM datos WHERE '-' = '-", se generaría la siguiente consulta SQL, (el color verde es lo que pretende el programador, el azul es el dato, y el rojo, el código SQL inyectado):

SELECT * FROM usuarios WHERE nombre = 'Alicia';DROP TABLE usuarios;SELECT * FROM datos WHERE '-' = '-';

Protegiéndonos.

Existen ciertos principios a considerar para proteger nuestras aplicaciones de un SQL Injection:
1.) No confiar en la entrada del usuario.
2.) No utilizar sentencias SQL construidas dinámicamente.
3.) No utilizar cuentas con privilegios administrativos.
4.) No proporcionar mayor información de la necesaria.
A continuación veremos algunos ejemplos de como implementar dichos principios.
1. No confiar en la entrada del usuario significa:
Filtrar la entrada del usuario de caracteres SQL para limitar los caracteres involucrados en un SQL Injection.

Private Function string SafeSqlLiteral( _ByVal inputSQL As String) As StringReturn inputSQL.Replace("'", "''")

End Function

'...

Dim safeSQL As String = SafeSqlLiteral(Login.Text)
Dim myCommand As SqlDataAdapter = _New SqlDataAdapter("SELECT au_lname, au_fname " & _"FROM authors WHERE au_id = '" & safeSQL & "'", _myConnection)

· Proteger las instrucciones de búsqueda de modelos coincidentes (LIKE).

Private Function SafeSqlLikeClauseLiteral( _ByVal inputSQL As String) As String
Dim s As String = inputSQL
s = inputSQL.Replace("'", "''")
s = s.Replace("[", "[[]")
s = s.Replace("%", "[%]")
s = s.Replace("_", "[_]")
Return s
End Function

Verificar tanto el tamaño y como el tipo de los datos de las entradas de usuario:
- Evitando los siguientes tipos caracteres de riesgo para el gestor de datos:

-El delimitador de consultas: Punto y coma (;)
-Delimitador de datos de tipo cadena de caracteres: Comilla sencilla (').
-Delimitadores cometario: Guión doble (--) y "/*..*/" en el caso de SQL Server

Nota: En lugar de evitar los caracteres peligrosos, otro modo de protegernos es aceptar sólo los caracteres inofensivos.


+Evitando las cadenas con el inicio de nombres de las tablas y los procedimientos del sistema: "sys" y "xp_" en el caso de SQL Server. Así como las siguientes palabras: AUX, CLOCK$, COM1, COM8, CON, CONFIG$, LPT1, LPT8, NUL y PRN

+Utilizar de preferencia controles con valores predefinidos o discretos tales como cuadros de lista, cuadros combinados, de verificación, etc. en lugar de cuadros de texto.

-Verificar cualquier tipo de entrada, no sólo lo introducido en los controles IU sino también aquellas que no son visibles, como parámetros de entrada y campos tipo hidden de las páginas web.

-Realizar la verificación en todos los niveles y capas de la aplicación, ya que si sólo protegemos la capa de presentación somos vulnerables a que un atacante salte a la siguiente capa y realizar su ataque.

2. No utilizar sentencias SQL construidas dinámicamente. En lugar de ello:
-Utilizar instrucciones SQL con Parámetros

Dim myCommand As SqlDataAdapter =
New SqlDataAdapter( _"SELECT au_lname, au_fname FROM Authors " & _"WHERE au_id= @au_id", cn)
Dim parm As SqlParameter = _myCommand.SelectCommand.Parameters.Add("@au_id", _SqlDbType.VarChar, 11)parm.Value = Login.Text

Aunque de hecho es mejor utilizar Procedimientos Almacenados siempre que sea posible, así como también:

-Utilizar Parámetros al llamar Procedimientos Almacenados.

Dim myCommand As SqlDataAdapter =
_New SqlDataAdapter("AuthorLogin", myConnection)myCommand.SelectCommand.CommandType = _CommandType.StoredProcedureDim parm As SqlParameter = _myCommand.SelectCommand.Parameters.Add("@LoginId", _SqlDbType.VarChar,11)parm.Value = Login.Text

3. No utilizar cuentas con privilegios administrativos.
-Ejecutar las sentencias SQL o invocar Procedimientos Almacenados con una cuenta con privilegios mínimos. Nunca emplear 'sa' en el caso de MS SQL Server. Pero de preferencia además...

-Conceder permisos de ejecución únicamente a Procedimientos Almacenados propios desde los cuales, a manera de "wraper", se realicen las consultas a las Tablas de Usuario y llamados a los Procedimientos Almacenados del Sistema que se requieran en las aplicaciones, y negar el acceso directo a éstos últimos y a las Tablas de Usuario.

4. No proporcionar mayor información de la necesaria.

-No exponer al usuario final los mensajes de error devueltos por el gestor de la base de datos, para no brindar mayor información que sea útil al atacante.

-Implementar un sistema de gestión de errores que notifique del mismo únicamente a los administradores de la aplicación y el gestor de la base de datos. Por ejemplo, para el caso de una aplicación web, establecer en el archivo de configuración web (Web.Config) el valor del atributo debug del elemento compilation en False y el atributo mode del elemento customErrors en On o en su defecto en RemoteOnly.




Otros Ejemplos
http://www.mikesdotnetting.com/Article/113/Preventing-SQL-Injection-in-ASP.NET
Ver

martes, 5 de mayo de 2009

Cambiar colores a un grid View

No hay comentarios.:

En este ejemplo muestro como pueden escribir codigo para que cuando pasen el mouse sobre grid cambie de color la fila que estan pocisionados, tambien muetro como pueden cambiar el color de una fila segun alguna condicion.


Ejemplo:


Todo esto se da con el evento RowDataBound


asi que capturenlo el evento del RowDataBound del griview como primer paso.


paso 2 agregue este if dentro del evento que acaba de capturar.

if (e.Row.RowType == DataControlRowType.DataRow)
{

}

tercero pongamos fondo para que señale que fila estan sobre ella para una mejor visibilidad.


para lograr eso agregue el siguiente codigo dentro del if de arriba.

e.Row.Attributes.Add("onmouseover", "this.originalcolor=this.style.backgroundColor;" & _" this.style.backgroundColor='yellow';")e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=this.originalcolor;")



Aquí ya logramos el un efecto visual util. ahora pongamos una condición.


Dentro del if DataControlRowType con el evento RowDataBound abajo de los colores
debe de capturar la fila que quiere analizar

string s = Convert.ToString(System.Web.UI.DataBinder.Eval(e.Row.DataItem, "status"));

luego un if para saber que color le queremos dar
if (s == "Denegado")
{
e.Row.BackColor = Color.red;
}
if (s == "Aprobado")
{
e.Row.BackColor = Color.Green;
}



Ejemplo Completo



if (e.Row.RowType == DataControlRowType.DataRow)
{

e.Row.Attributes.Add("onmouseover",
"this.originalcolor=this.style.backgroundColor;" +
" this.style.backgroundColor='yellow';");
e.Row.Attributes.Add("onmouseout",
"this.style.backgroundColor=this.originalcolor;");


string s = Convert.ToString(System.Web.UI.DataBinder.Eval(e.Row.DataItem, "status"));
if (s == "Denegado")
{
e.Row.BackColor = Color.red;
}
if (s == "Aprobado")
{
e.Row.BackColor = Color.Green;
}
}


Tambien podriasmos poner una imagen dependiendo de una columna, en nuestro ejemplo, vamos a verificar si la celda cero tiene un valor mayor a cero pondra un icono de documento adjunto, al mismo tiempo reemplazara esta misma columna cero,todo esto tambien va en el evento RowDataBound.



int valor = Convert.ToInt32(e.Row.Cells[0].Text);
if (valor > 0)
{
HyperLink hlnk = new HyperLink();
//hlnk.NavigateUrl = "http://www.google.com";
hlnk.ImageUrl = "~/image/adjunto.gif";
e.Row.Cells[0].Controls.Add(hlnk);
}
else
{
HyperLink hlnk = new HyperLink();
hlnk.ImageUrl = "";
e.Row.Cells[0].Controls.Add(hlnk);
}

No esta demas recordarles si les gusta el tema y les sirve favor dejar comentario. = ) gracias.

Ver