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 - Diabliyo

#371
Buenas.

Ya logreo que se cierre la capa, fue mis simple solo agregue dos styles en el javascript y listo, pero el problema ahora es que se aplica la opacidad a toda la capa, vaya, tambien al iframe que lleva dentro.

Aqui el code actualizado:

function supercapa( capa, color, opacidad )
{
var nav=1; // navegador Mozilla

if( navigator.userAgent.indexOf("MSIE") >= 0 ) nav=0; // es I.E

var m= document.getElementById(capa);
//var m= document.createElement('div'); // quite esta linea porque no me dejaba cerrar la capa (esconderla), no entiendo porque
m.id=capa;
m.style.width= document.body.offsetWidth+ 'px';
m.style.height= document.body.offsetHeight+ 'px';
m.style.backgroundColor= color;
m.style.top=0;
m.style.left=0;
m.style.visibility='visible';
m.style.display='block';

if( nav==0 ) m.style.filter= 'alpha(opacity='+opacidad+')'; // es I.E
else m.style.opacity= opacidad/100;

document.body.appendChild(m);
}


El style:

#supercapa {margin:auto;z-index:7;position:absolute;}
#supercapa .child {z-index:8;width:900px;height:600px;font:12px Arial, Verdana, sans-serif;color:black;background-color:#ffffff;
margin:auto;text-align:center;padding-top:2px;margin-top:10px;}


Como vemos en el style de arriba, la capa  supercapa se muestra ocupando toda la pantalla y con la opacidad establecida, pero la clase child tambien se le aplica esta opacidad :S, porque ?, no entiendo porque tambien se le aplica opacidad, esto hace que se vea mal :(
#372
Buenas.

Quier hacer el efecto que se encuentra en muchos sitios que es la de mostrar una supercapa con opacidad en donde esta supercapa ocupa todo el ancho y alto del monitor, el fondo es opaco en negro, y en medio muestra un contenido, por lo general lo usan para mostrar imagenes, a esta capa tambien le adieren una imagen o enlace para cerrar la capa.

Buscando la forma de como hacerlo, he logrado mostrar la capa, que ocupe todo el ancho y alto de la dimencion del sitio, se super posiciona encima de todo el sitio, toma el efecto de opacidad y en medio muestro un iframe que contiene la imagen, de esta forma si la imagen es mayor al ancho del que establezco, se pone un scrollbar... y en la parte superior un enlace para cerrar la capa ([Cerrar]).

El problema es que, no logro cerrar la capa :(... Vaya, desaparece la imagen que muestro en medio, desaparece el iframe y el mensaje de [Cerrar], pero no desaparece la supercapa con opacidad :(

En mi code la funcion supercapa() es invocada por un enlace que pulsa el usuario, que se invoca atraves del evento onclick(), esta invoca dos funciones la funcion que muestra la supercapa() y una funcion de AJAX que escribe los datos en la capa.

Código (php) [Seleccionar]
<script language="javascript">
function supercapa( capa, color, opacidad )
{
var nav=1; // navegador Mozilla

if( navigator.userAgent.indexOf("MSIE") >= 0 ) nav=0; // es I.E

var m= document.createElement('div');
m.id=capa;
m.style.width= document.body.offsetWidth+ 'px';
m.style.height= document.body.offsetHeight+ 'px';
m.style.backgroundColor= color;
m.style.position= 'absolute';
m.style.top=0;
m.style.left=0;
m.style.zIndex=2000;

if( nav==0 ) m.style.filter= 'alpha(opacity='+opacidad+')'; // es I.E
else m.style.opacity= opacidad/100;

document.body.appendChild(m);
}
</script>

<?php
echo '<a href="#supercapa" onclick="cargar_datos( \'my=campains&op=vercontenido&id_camp='$buf["ID"]. '\', \'supercapa\', \'GET\', \'0\'); supercapa(\'supercapa\', \'#000000\', \'50\');">

<img src="imagenes/ver.png" border="0" alt="Visualizar Contenido" title="Visualizar Contenido">
</a>'
;
?>


Cuando se muestra la imagen, el enlace de [Cerrar] invoca la funcion capa_verno() en javascript, que se supone cambia los estilo de visibility y display, si estos estan activados, los desactiva:

Código (php) [Seleccionar]
<script language="javascript">
function capa_verno( capa )
{
var layer;
layer= document.getElementById(capa);

if( layer.style.visibility=="hidden" )
{
layer.style.visibility="visible"; //visible - hidden
layer.style.display="block"; // none - block
}
else
{
layer.style.visibility="hidden"; //visible - hidden
layer.style.display="none"; // none - bloque
}
}
</script>

<?php
echo '<a href="#" onclick="capa_verno(\'supercapa\');">[Cerrar Vista Previa]</a><br>
<iframe src="?algo=otro">
    <!-- Aqui muestro la imagen //-->
</iframe>'
;
?>
#373
Cita de: wirelesswifi en 17 Enero 2011, 17:34 PM
Este codigo me serviria para guardar un log de bots de buscadores, y a la vez poner el proceso de votacion.

En el archivo robots.txt lo tengo asi:

# Negando el acceso a un archivo
Disallow: /votar.php


En el cual negaria el acceso al archivo votar.php

Gracias Diabliyo y a todos los que me ayudaron.

Saludos!

La idea es buena y existen muchos que tal vez lo hagan asi, pero segun mi experiencia te recomiendo trates de hacerlo tambien por codigo, porque no todos los robots tienen un nombre :D, vaya, muchos acceden mas de 10 veces por dia (lo he visto en mi log), indexan el sitio, tienen un IP muy corta (por ejemplo: 67.45.89.14), la variable $_SERVER['HTTP_USER_AGENT'] esta vacia, no se detecta el S.O, ni el lenguaje.

Y hay otros que no se detecta el $_SERVER['HTTP_USER_AGENT'], pero si el S.O, el lenguaje y su ubicacion geografica, por ejemplo los buscadores Rusos y todos aquellos nuevos que igual ni conocemos.

Todos estos, si se diera el momento, estarian accediendo a tu archivo y haciendote un show otra vez :D

Saludos !
#374
Cita de: Nakp en 17 Enero 2011, 17:23 PM
no bastaria con rel="nofollow" ? aunque si... si se pasa el nofollow habria que poner seguridad extra con los bots

Si quieres evitar los bots y tienes un sitio web o blog, entonces es una tonteria :S... nadie indexaria tu sitio, solo tu y tus amigos conocerian tu pagina.

Eso del nofllow|noindex es solo para sitio donde requieres privacidad, por ejemplo Software para empresa (plataforma web), donde solo y unicamente quieres que accedan proveedores o personas especificas y no cualquier persona.

Pero ya estamos hablando que seria un plataforma, osea, que para ver el contenido necesitarias un user y clave.

Saludos !
#375
Cita de: wirelesswifi en 17 Enero 2011, 17:11 PM
Si es cierto, ahora para las visitas en el archivo noticias.php insertaria el mismo codigo de arriba?

Saludos.

Mira para saber los nombres de los bots, no hay como primero hagas un LOG completo sobre quienes entran, vaya, detectes el navegador, lenguaje e ip, con esto conforme pase el tiempo notaras que existen personas (eso crees tu) que entran con un navegador que tiene por nombre: bing o google, es mas que logico que no es una persona, y se trata del bot webcrawler (un buscador), asi que, conforme vas observando tu log y te van callendo los Bots, vas descubriendo su nombre real.

Ahora, conforme vas reconociendo mas bots, yo te recomiendo te crees una funcion mas o menos asi:

Código (php) [Seleccionar]
<?php
function is_bot($navegador)
      {
      
$mstrtolower($navegador); // convertimos el nombre a minuscular
      
$bots= array( 
            
"google""otro""otro""otro");

      
# ahora comprobar si es un bot
      
foreach( $bots as $data )
            {
            if( !
strcmp($data$m) ) # si "m" es igual que "data", entonces es un bot
                  
return 1# retornamos 1, es un bot
            
}
      return 
0# exito, no es bot
      
}

if( !
is_bot($_SERVER['HTTP_USER_AGENT']) ) # si no es bot
      
{
      
# guardamos datos ya sea log o votacion, o lo que sea...
      
}
?>


Asi ahorras codigo y solo invocas la funcion is_bot() pasandole como argumento el $_SERVER['HTTP_USER_AGENT'] y si devuelve 1 entonces es un bot, sino, entonces es un usuario real.

OJO: hay que ir observando tu LOG COMPLETO para que vayas conociendo los bots, de nada sirve busques en google nombre de bots o webcrawlers, estos a veces cambian de nombre cada varios a~os o cuando se les plasca, por ejemplo: el bot de google se llamaba antes como googlebot, ahora se llama google.

Saludos !
#376
Cita de: asasasaq en 17 Enero 2011, 12:19 PM
Hola a todos los del foro, tengo un archivo de noticias en la cual tengo un enlace hacia votar.php que vota la noticia por id

Ahora los Bots de google votan las noticias, como evitaria esto?

Saludos..

Viendo que no hacer reconocimeinto de los bots, entonces me imagino que no estas contabilizando bien las visitas a tu sitio, cierto ??

Lo primero que te recomiendo hacer, es crees un script que reconoce los diferentes bots en la red, posteriormente esto te ayudara para saber contabilizar las visitas, así podrás discernir entre un bot y un usuario y contabilizar visitas de usuarios reales.

Y ahora si podrás también tener un mejor control sobre votaciones, vistas de noticias, hacerte un top 10 mas real, etc, etc...

Saludos !
#377
Cita de: Castg! en 15 Enero 2011, 19:15 PM
NO LE PONGAS EL DECODE!!! Es en vano! Es como que haga:
Código (php) [Seleccionar]
$flota = 1 * 2;
$flota = $flota / 2;


El códio te va a quedar igual.
Además, la funcion "desproteger_cadena()" para que la usas? Proba tu codigo sin modificaciones pero no uses la funcion desproteger cadena. Pensa, si vos estas protegiendo la cadena para evitar xss, para que desprotegerla? Acaso usas "proteger_cadena()" para que no te cierren la comilla de la consulta al MySQL? Si asi es, podes hacer como yo y usar
Código (php) [Seleccionar]
urlencode();
urldecode();


para despejar cualquier caracter que te cause error en las consultas.

Amigo te estas avionando demasiado con eso, el punto aqui es que el caracter dentro del SELECT sale en forma de simbolo y no como una letra acentuada.

Sobre la funcion desproteger_cadena() esta YA MENCIONE CLARAMENTE quue elimine 3 funciones que menciono dentro de desproteger_cadenA(), estas son para interpretar el BBCode, caritas y otras cosas, por eso no puedo consultar e imprimir (echo), debo pasar esta funcion que me brinda todo el servicio (BBcode, Caritas, extras y proteccion).

Centremonos en que los acentos dentro del SELECT (unicamente), se imprimen como simbolo :S.

Saludos !
#378
PHP / Re: Ocultar celdas de tablas con PHP
14 Enero 2011, 21:52 PM
Yasta men gracias por el code xD....
#379
WHK

Disculpame pero estas en un error, UTF-8 es capaz de imprimir acentos y enies, ya que actualmento uso UTF-8 y no tengro problemas, claro, siempre y cuando esten en el cuerpo y no dentro de un SELECT.

Ademas..., mi apache y mi index.html, los tengo a UTF-8, y pues no quiero cambiarlos porque asi manejo todo mi code, mis funciones, bases, etc, etc....

Existe la manera de dejarlo como UTF-8 y que funcione ?




~Yoya~
Cuando inserto datos en mi BDD, los protejo antes de enviarlos, vaya, les paso la función proteger_cadena() (ya la mencione arriba), y lo hago porque si un usuario escribe algo con un símbolo ' o ", a veces la BDD salta y no inserta, y siendo así, pasando esta función siempre se inserta.

Ya cuando consulto y después voy a imprimir en pantalla algo, utilizo desproteger_cadena(), que en este caso, en el code que puse arriba podrá notas que protegí los caracteres <, >, \n y \t... Pero además también le paso 3 funciones mas que son para convertir caracteres especiales a caritas y traducir el BBCode, pero eso lo borre del code que puse para evitar mostrar mas funciones y despues pregunten "y que hace esa funcion ?, sera la que manda el error..." o cosas asi.




IMPORTANTE

UTF-8 si permite imprimir caracteres con comillas y enies, pero nose porque me esta fallando dentro del SELECT, si es fuera del select, todo va perfecto !

Saludos !
#380
Cita de: Castg! en 14 Enero 2011, 19:28 PM
Pero porq haces un html_entity_decode()? Es en vano decodificarlo y volverlo a codificar y ademas manualmente (uno por uno, caracter por caracter).

Bueno si todavia asi es lo que queres hacer aca tenes una tabla con los codigos que se usan en HTML para determinados caracteres:

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML

Saludos

Le paso el html_entity_decode() porque en la BDD los datos se guardan protegidos con htmlentities(), es por eso que se quita, ademas se le pasa htmlentities() a los caracteres que podrian causarme un inyeccion HTML, como: <, >, \n y \t. Todos estos datos se toman en cuenta porque la funcion se aplica para formularios y todo tipo de datos (en formulario intervienen textareas y otros inputs).

Alguien sabe como puedo mostrarlos correctamente ?, se imprime asi: , pero solo dentro del <select>.

Saludos !