Página.. Estas saliendo de esta web...

Estado
No está abierto para más respuestas.

Jangel

Estafador
Mensajes
68
Puntuación de reacción
0
Bueno Amigos Quiero darles este código que encontré y lo cambie un poco


Funcionamiento:
Trata de que al presionar un enlace externo dentro de blog te mande a una pagina en la que pide dar click en un boton (por ejemplo) para ayudar al sitio.


Pasos:

Agregaremos el plugin: "Better WordPress External Links"

Vamos a ajustes del plugin
( http://tublog/wp-admin/admin.php?page=bwp_ext_general )



Vamos hasta abajo a configurar lo siguiente "Displaying & Interacting Options"


En la parte donde dice: "Prefix external links with" pones la opcion "A custom Url" , y en el campo de texto ponemos:
http://tublog/link.php?link=
Ahora vamos a crear el archivo:
link.php
con el siguiente codigo:


Código HTML:


<?php
$link = $_GET['link'];
?>
<html>
<head>
<link rel="StyleSheet" href="link.css" media="all" type="text/css">
<script>
function disabletext(e){
return false
}
function reEnable(){
return true
}
document.onselectstart=new Function ("return false")
if (window.sidebar){
document.onmousedown=disabletext
document.onclick=reEnable
}
</script>
</head>
<body background="http://articlesbeauty.com/wp-content/uploads/2013/03/nlf_background.jpg">
<center>
<div class="box">
<p><span style="color: #ffffff; font-size: large; font-family: 'comic sans ms';"><strong>Estas Saliendo de Zona Player</strong></span></p><p><span style="font-size: large; font-family: 'comic sans ms', sans-serif; color: #ffffff;">Quieres Ir a:</span></p>
<p><span style="color: Red; font-size: large;"><?php echo $link; ?>'</p>
<p>Todo El Contendido Visto y/o redactado en la web que solicitas no es de auditoria de ZonaPlayer</p>
<p>Para Acceder Dale Click Al boton Enviar</p>


<input name="Ir" type="submit" class="boton" id="Ir" onClick = "location='<?php echo $link; ?>'" "value="Ir"/>
</p>
</div>
</center>
</form>
</body>
</html>
Bueno ese es Html Ahora Al CSS que es muy pobre Si quiere ayuda me mandan un MP ya que ahora ando un poco Tareado Por la escuela



Código:
@charset "utf-8";
/* CSS Document */

.boton{

font-size:15px;
font-family:Arial,Arial Black,Verdana;
font-weight:bold;
color:white;
background:#638cb5;
border:5px;
width:120px;
height:25px;
}
.boton:hover{
opacity: .7;
filter:alpha(opacity=70);
}

.box {
border: 20px;
width: 500px;
height: 400px;

}


Bueno eso Es todo espero y les Funcione Aqui Les dejo Un Demo http://zonaplayer.com.ar/link.php?link=http://www.marcofbb.com.ar/
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
Perdona, buen aporte, pero recoger una variable GET para almacenarla en otra variable y usarla tal cual, a parte de una carga innecesaria de memoria (puedes usar referencias para no tener dos variables identicas), es un peligro por completo. Hay que tener cuidado.
 

Luisin

Platino
Usuario de Bronce
Mensajes
1,253
Puntuación de reacción
1
Perdona, buen aporte, pero recoger una variable GET para almacenarla en otra variable y usarla tal cual, a parte de una carga innecesaria de memoria (puedes usar referencias para no tener dos variables identicas), es un peligro por completo. Hay que tener cuidado.

No entendí lo que quisiste decir.
No hay nada de malo en almacenar un valor GET en una variable. O quizás me perdí de algo en el script que colocó...

Saludos.
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
No entendí lo que quisiste decir.
No hay nada de malo en almacenar un valor GET en una variable. O quizás me perdí de algo en el script que colocó...

Saludos.

No hay nada "malo", pero si el GET tiene por value un "hola", y haces un $var = $_get["nose"], al final lo que tienes son dos variables cargadas en memoria con el mismo valor. Puedes usar el GET directamente, o en $var señalar que haces referencia al GET y así no almacenas en la memoria un valor duplicado.

Aquí tal vez lo entiendan mejor: http://www.php.net/manual/es/language.variables.basics.php

Respecto a lo otro que decía, me refiero a que siempre que se recibe un valor por GET o POST hay que tratarlo antes de ponerse a trabajar con el, por seguridad principalmente.
 
Última edición:

Luisin

Platino
Usuario de Bronce
Mensajes
1,253
Puntuación de reacción
1
A ver si entiendo lo que dices...

Si en la url algun mañoso viene y pone .com?var1=ok

En ese caso te va a dar un warning, le estas diciendo que almacene nada a la variable, ya que no existe el parámetro con nombre "link"

Si pone .com?link=URL&var1=ok

En ese caso el script funciona.

Entonces para darle mas seguridad:
Lo que tendría que hacer es verificar que exista el parametro GET y que sea igual a 'link' y que tenga formato de URL.

En su caso en particular al usar solo una vez el parametro GET puede hacerlo sin problemas llamandolo directamente. Pero que pasa si ese mismo parametro debemos llamarlo varias veces... Y por cuestiones ajenas, debe cambiar de nombre... Las bondades de las variables! En estos tiempos la micro-optimización debe ser muy selectiva.

Saluds.
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
No @ElArcano, para nada me entendiste. xD

Ciñendonos al codigo de ejemplo que propone el usario, si vas a link.php?link=foro20.com lo que ocurre es que cargas 2 veces en la memoria del servidor el texto "foro20.com", una vez en $_GET["link"]; y otra en la propia variable $link, lo cual no es una buena practica, y para eso PHP permite asignar valores a las variables por referencia.

Y respecto a lo de tratar SIEMPRE (siempre siempre siempre, que quede claro) los $_GET y $_POST antes de trabajar con ellos es para prevenir que ocurran cosas como esta :
http://zonaplayer.com.ar/link.php?l... por no tener cuidado con los gets')</script>
 

DannecraftWTF

Cobre
Usuario de Bronce
Mensajes
858
Puntuación de reacción
0
No @ElArcano, para nada me entendiste. xD

Ciñendonos al codigo de ejemplo que propone el usario, si vas a link.php?link=foro20.com lo que ocurre es que cargas 2 veces en la memoria del servidor el texto "foro20.com", una vez en $_GET["link"]; y otra en la propia variable $link, lo cual no es una buena practica, y para eso PHP permite asignar valores a las variables por referencia.

Y respecto a lo de tratar SIEMPRE (siempre siempre siempre, que quede claro) los $_GET y $_POST antes de trabajar con ellos es para prevenir que ocurran cosas como esta :
http://zonaplayer.com.ar/link.php?l... por no tener cuidado con los gets')</script>

Eres programador :eek: eres un genio
 

Luisin

Platino
Usuario de Bronce
Mensajes
1,253
Puntuación de reacción
1
No @ElArcano, para nada me entendiste. xD

Ciñendonos al codigo de ejemplo que propone el usario, si vas a link.php?link=foro20.com lo que ocurre es que cargas 2 veces en la memoria del servidor el texto "foro20.com", una vez en $_GET["link"]; y otra en la propia variable $link, lo cual no es una buena practica, y para eso PHP permite asignar valores a las variables por referencia.

Y respecto a lo de tratar SIEMPRE (siempre siempre siempre, que quede claro) los $_GET y $_POST antes de trabajar con ellos es para prevenir que ocurran cosas como esta :
http://zonaplayer.com.ar/link.php?l... por no tener cuidado con los gets')</script>

Lo de validar las los el valor de los metodos post y get queda claro..

Lo que no me queda claro es por que recomiendas usar referencias(no se si te estas refiriendo implícitamente a usar referencias como yo lo conozco(=&)) O usar directamente el valor del post o get en este caso:

Ejm:

.com?link=URL

Dentro de PHP

echo $link (metodo obsoleto)
echo $_GET['link'] Si lo usas una vez ok, pero si lo necesitas llamar 30 veces en el script...?

A que le estas llamando "referencia" es lo que no entiendo :p
(puedes usar referencias para no tener dos variables identicas)
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
Ejm:

.com?link=URL

Dentro de PHP

echo $link (metodo obsoleto)
echo $_GET['link']

Si lo usas una vez ok, pero si lo necesitas llamar 30 veces en el script...?

A que le estas llamando "referencia" es lo que no entiendo :p

A ver si logro explicarme. xD

Si haces esto :
PHP:

Estas almacenando 2 variables distintas en la memoria del servidor. Una es el propio $_GET["link"], y otra seria $link, y ambas variables tienen exactamente el mismo valor.

Si haces esto otro :
PHP:

Lo que le dices a PHP es que $link apunta (hace referencia) a lo que tenga $_GET["link"]. Vamos, seria como añadirle un nuevo nombre (alias) mas corto a $_GET["link"] y PHP "sustituye" todas las veces que tu pongas $link por $_GET["link"], pero NO carga 2 variables distintas en la memoria del servidor.

Puede parecer una tonteria, pero con detalles asi aqui y allá mejoras la carga del servidor y logras scripts más optimizados y eficientes. :mola:


Pd: Ida de pinza: imagínate que el script es un diccionario de palabras. Cada variable una palabra y el valor de la variable es la definición de la palabra. Ante una palabra X y su sinónimo Y puedes escribir la misma definición en ambas palabras, o en el sinónimo añadir "ver X" y eso que te ahorras en tinta y papel. ;)
 
Última edición:

Luisin

Platino
Usuario de Bronce
Mensajes
1,253
Puntuación de reacción
1
Pero @Bleed estas diciendo que es mejor acceder a la variable directamente?

.com?link=URL

<?php echo $link; ?>

Ese método está obsoleto. Si tiene register_globals off no se puede acceder a la variable.
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
Donde digo yo eso? xD

En los dos ejemplos esta declarada previamente la variable $link. Lo que digo es que es mejor referenciar $link al GET con &, que almacenar su valor (y tenerlo en la memoria cargado 2 veces).
 

Luisin

Platino
Usuario de Bronce
Mensajes
1,253
Puntuación de reacción
1
Donde digo yo eso? xD

Acá:

Si haces esto otro :
Lo que le dices a PHP es que $link apunta (hace referencia) a lo que tenga $_GET["link"]. Vamos, seria como añadirle un nuevo nombre (alias) mas corto a $_GET["link"] y PHP "sustituye" todas las veces que tu pongas $link por $_GET["link"], pero NO carga 2 variables distintas en la memoria del servidor.


En los dos ejemplos esta declarada previamente la variable $link. Lo que digo es que es mejor referenciar $link al GET con &, que almacenar su valor (y tenerlo en la memoria cargado 2 veces).

Podrías poner un ejemplo de como lo harías(sin la validación por supuesto) quizás aprenda algo no conocía y nunca esta demás, así terminamos con esta dialogo, aunque esta interesante en algún momento debe terminar :sisi1:

Asumo a que quieres hacer algo asi:

$link =& $_GET['link']

Si es así, ese método también está obsoleto en PHP5

Saludos.
 
Última edición:

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
Si, @ElArcano, a lo que me referia era a esto :
PHP:
<?php
$link =& $_GET["link"];
?>

Y no, no está obsoleto. Tambien lo encontré mejor explicado en la propia documentacion online de PHP :
PHP: Referencias Explicadas - Manual

:mola:
 

Luisin

Platino
Usuario de Bronce
Mensajes
1,253
Puntuación de reacción
1
Si, @ElArcano, a lo que me referia era a esto :
PHP:
<?php
$link =& $_GET["link"];
?>

Y no, no está obsoleto. Tambien lo encontré mejor explicado en la propia documentacion online de PHP :
PHP: Referencias Explicadas - Manual

:mola:

Hola :D

Pero eso ya es un tema de micro-optimización. El resultado es imperceptible... Es casi lo mismo que decir es mejor poner las cadenas simples entre '' o usar echo() en vez de print()
El estado de PHP esta bastante avanzado en estas cuestiones que casi nadie se preocupa en estas cosas.

Saludos.

PD: al final el dueño del script ni regreso! :sisi1:
 
Estado
No está abierto para más respuestas.
Arriba