Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - WHK

#1721
Hola, he encontrado la forma de inhabilitar la consola del inspeccionador de elementos, en este caso desde internet explorer es la herramienta de desarrollo y desde firefox es firebug.

Para hacer esto solo basta con agregar un javascript al sitio web con la siguiente linea:

delete eval;

Que fácil no? pues desde la función delete no puedes eliminar objetos y funciones protegidas tales como document o alert pero por alguna extraña razón si te permite eliminar la función eval() ya que no se encuentra protegida asi que la puedes eliminar (habrá sido para mayor seguridad?).

Hay dos cosas extrañas en esta situación: primero que sea posible eliminar la función eval del DOM y lo segundo es que internet explorer 10 funcione exactamente igual a nivel de motor que mozilla firefox :-/ , intentaré no ser tan mal pensado y creer que fue mera casualidad y que Microsoft no tomó firebug como base para crear el inspeccionador de elementos.

Ahora desde firebug cuando intento escribir algo sobre la consola aparece:
CitarTypeError: contentView.eval is not a function

Cabe destacar que el inspeccionador nativo de firefox (no firebug) funciona bien, no tiene este problema al igual que google Chrome.

Internet explorer dice:
Citar"'eval' no está definido"

Como no es un complemento sino un sistema nativo podemos decir que el unico navegador mas afectado es internet explorer.

Bug reportado al complemento Firebug:
http://code.google.com/p/fbug/issues/detail?id=6629

A Microsoft no le reporto nada, para eso tienen a un puñado de ingenieros que les pagan para hacer su trabajo, a mi no me pagan nada, ellos son los que se llenan los bolsillos con el trabajo de los demás.

Saludos.
#1722
muchas gracias, me ha servido bastante :)

También encontré mas ayuda al respecto acá:
http://stackoverflow.com/questions/17705349/how-to-create-a-custom-cast-explicit-in-c
#1723
Digamos que tengo lo siguiente:

string abc = "123456";

Para convertir en int debo utilizar convert:

int abcInt = Convert.ToInt32(abc);

El problema es que si no es numérico tengo una excepción en ves de retornar cero por lo tanto mi código final quedará así:

try{ int abcInt = Convert.ToInt32(abc); }catch(Exception e){ int abcInt = 0; }

Asi que en ves de eso decidí crear una librería que me convertía un objeto en numérico sin excepciones retornando cero si falló, de esta manera podría mantener una programación mas flexible sin tanto código basura:

int abcInt = Librerias.str.toInt(abc);

El código es el siguiente:

public int toInt(object buffer)
       {
           if (String.IsNullOrEmpty(buffer.ToString()))
               return 0;
           try
           {
               return Convert.ToInt32(System.Text.RegularExpressions.Regex.Replace(buffer.ToString(), "@[^Ee0-9\\.]+@i", ""));
           }
           catch (FormatException e)
           {
               return 0;
           }
       }


Pero quiero ir un paso mas allá y hacer algo como esto:

int abcInt = (safeInt)abc;

El problema es... como lo hago?, se que debo comenzar creando una librería llamada safeInt, ok está hecho y he averiguado al respecto, supe que debo utilizar:

public class safeInt
{
public explicit operator int(object buffer) {


Pero no he encontrado la manera de obtener y devolver el valor necesitado obteniendo el objeto casteado. Intenté utilizar el constructor para devolver el valor pero no me resultó.

Alguien sabe si esto es posible desde c#? si es así entonces me gustaría crear un lote de librerías similares a las nativas (ojala extendidas pero no se como se pueden extender) creando una programación "no estricta" tal como lo hace de forma nativa php para aumentar la velocidad del desarrollo de la aplicación.

Al probar un simple cast:
int abcInt = (safeInt)abc;

Me ha dicho lo siguiente el visual studio:
CitarNo se puede convertir el tipo 'string' en 'Librerias.safeInt.safeInt'

Alguien sabe como hacer esto?
#1724
Bugs y Exploits / Re: Cómo lo hicieron????
17 Julio 2013, 15:11 PM
Mira, no es por nada pero al parecer es un sistema bastante susceptible a vulnerabilidades:
https://bukkit.atlassian.net/secure/Dashboard.jspa

Intenta reportar el ataque ahi con todos los detalles que tengas para que ellos se encarguen de crear la solución.
#1725
Gracias, me ha servido para saber que traer toda una tabla a la memoria ram para luego cortarla es la solución oficial de Microsoft, ahora cuando colapse el servidor de mi trabajo por uso desmedido de memoria ram sabré a quien hecharle la culpa.
#1726
Hola, por razones alienigenas no puedo utilizar sql server 2012 por lo tanto crear un paginador de datos en sql server 2005 es todo un rompecabezas ya que no existe la función limit ni offset.

La idea es la siguiente: Tengo 5 mil millones de registros en una sola tabla, ahora necesito crear una pagina web que me vaya mostrando los datos de 10 en 10 con un botón para ir mostrando siguiente, siguiente, siguiente etc.

El inconveniente es que en sql server solo puedes utilizar la función top() la cual obtiene todos los datos a partir desde el id que le indiques, por ejemplo select top(10) * from tabla obtiene los primeros 10 registros pero como obtener los primeros 10 registros a partir del registro 500?

Una de las muchas soluciones es hacer un select * y luego cortar con betwen, el problema es que el motor sql va a obtener los 5 mil millones de registros y luego los cortará y eso multiplicado por la cantidad de solicitudes por segundo es un desastre.

Lo que un amigo me recomendó es mandar toda la base de datos a la memoria del servidor a traves de un grid en .net, el problema es el mismo, si tengo 5 mil millones de registros que se van a ir a memoria eso significa que voy a desperdiciar recursos cuando los datos aumenten y tenga mas sistemas que hagan lo mismo y peor aun cuando se actualice algún dato, tendría que volver a volcar todos los datos a la memoria y es una locura.

Esta es la mejor solución que he encontrado dando vueltas por ahi:
select *
from (
    select *, ROW_NUMBER() over (order by id desc) AS idColumna
    FROM datos
) as buffer
where buffer.idColumna between 2 and 15


El problema es el mismo, que debe seleccionar los 5 mil millones de registros para poder cortarlos y entregarlos y es toda una locura porque la tabla datos contiene un campo varbinary con varios  megas por cada uno.

Cual sería la solución oficial por parte de microsoft? a caso microsoft nunca utilizó sql server que no se dieron cuenta que hacer un simple paginador era imposible?
#1727
Bugs y Exploits / Re: Cómo lo hicieron????
15 Julio 2013, 15:00 PM
Es dificcil saber exactamente lo que pasó, el que te dijo que fue un exploit tubo que haberte indicado que exploit fue para saber con certeza que agujero de seguridad atacó, por ejemplo el exploit se lanzó hacia el servicio del juego? a java? al sistema operativo? ???? asi es dificil saber que pasó.

No siempre se necesita saber el sistema operativo, hay muchas maneras de obtener una ip o datos sensibles, a esta estratégia se le llama information disclosure donde el atacante primero obtiene todos los datos mas sensibles posibles, por ejemplo pudo obtener la ip exacta del servidor a traves de otro agujero de seguridad que lo desvelara (el cual no se cual pueda ser).

Por ejemplo si atacaron alguna vulnerabilidad de java entonces no necesitan saber nada del sistema operativo a menos que hayan lanzado alguna shell, talves lanzaron muchas veces el mismo exploit con un vector diferente para cada posible sistema operativo hasta darle con una.

Si tu servidor es dedicado podrias ir guardando un log de posibles vectores de ataques como lo hace snort, ahora, no se si habrá algo para asegurar tu servidor de juegos pero debe haber.

Una pista: Java es el framework de moda para los delincuentes informáticos porque ultimamente han aparecido una gran oleada de vulnerabilidades, incluso llegaron a aconsejar desinstalar java de los servidores, hace no mucho microsoft, yahoo, skype y tweeter fueron hackeados a traves de estas vulnerabilidades de java.
#1728
Hola! inicio este hilo de post para que podamos saber como quitar nuestra publicidad del hosting gratuito.

Recuerden que no siempre será posible pero si la mayoría de las ocasiones.

¿Como hacerlo?: Responde este post solicitando ayuda sobre como quitar tu publicidad pegando la url de tu sitio WEB y entre todos te ayudaremos con códigos javascript, php, CSS, etc hasta que quede muy limpio :)

Si alguien quiere poner un tip sobre como eliminar la publicidad de algún hosting entonces bienvenido sea y envíeme un mensaje privado para agregarlo al índice de este post.

Saludos y Enjoy!

Índice de Hacks para quitar la publicidad de Hostings Gratuitos

#1729
Muchas gracias :) ahora estoy usando stringBuilder y funciona de lujo :)

Que mal que .net no traiga soporte para json por defecto como el resto de los lenguajes modernos y peor aun al ser usado para paginas webs ya que el unico estandar final para la comunicación cross domain es json.

No quería ponerle dependencias pero creo que es una nube negra que nunca se irá de microsoft.
#1730
Cita de: Songoku en 12 Julio 2013, 18:02 PM
¿No habia virus que SI flasheaban la bios? yo siempre oí hablar de ellos aunque por suerte nunca me topé con ninguno.
Saludos...

Songoku


Si pero fue en la época del pentium 1, 2 etc cuando las fuentes de poder eran at y las placas soportaban isa, de hecho tambien habian virus que mataban el disco duro dejando caer el cabezal, por eso con el tiempo los fabricantes de placas integraron sistemas de seguridad que impedian que el software pudiera tener acceso al hardware de tal forma que lo estropeara, o sea que ya no podias tocar la funcionalidad basica del disco, solo leer y escribir, tampoco acceder a la bios, etc.

La idea principal era que ningun virus pudiera estropear tu pc obligandote a comprar otra.

Hay pequeñisimas excepciones como la infección de drivers que vienen por hardware como el lector de blueray de la xbox pero son palabras mayores entre uno que otro rootkit para hardwares específicos que en tu vida verás.