Comunidad de diseño web y desarrollo en internet online

Aporte de Codigos php

Citar            
MensajeEscrito el 13 Dic 2005 03:39 pm
Saludos, abrí este tema para colocar aquí los sistemas o codigos mas pedidos o requeridos por muchos usuarios, se que alguno diran que esto es de flojos, pero a veces se nos presentan emergencias y debemos ejecutar estos scripts ya hechos.

ahora, no voy a publicar cosas como phpuke, postnuke por que ya creo que muuucha gente sabe donde conseguirlo, pero si publicare cosas importantes como envio de emails, registro de usuarios y muchas mas, si alguien tiene una emergencia y necesita un sistema avisenme que si lo consigo lo publico.

saludos a todos.

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

msie
Citar            
MensajeEscrito el 13 Dic 2005 03:52 pm
cPanel & WebHost Manager (WHM) is a next generation web hosting control panel system. Both cPanel & WHM are extremely feature rich as well as include an easy to use web based interface (GUI).


URL de descarga:

http://www.querelatos.com/scripts/Cpanel-7.1.0-RELEASE_20-Linux-i686-glibc-2.1.rar

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

msie
Citar            
MensajeEscrito el 13 Dic 2005 04:08 pm
Bueno, este tutorial les enseñará a crear un filtro de groserias para que lo utilizen en sus scripts.

Primero que nada tenemos que definir un array con las groserias que queremos censurar y por lo que queremos reemplazar cada groseria:

Código :

// Groserias a reemplazar: 
$groserias = array ( 
"groseria1" => "***", 
"groseria2" => "***", 
"groseria3" => "***", 
"groseria4" => "***", 
"groseria5" => "***", 
"groseria6" => "***", 
); 


Ahora mediante un bucle foreach vamos a recorrer el array y reemplzar las groserias:

Código :

foreach($groserias as $insulto => $reemplazo) 
{ 
$cadena = str_replace($insulto, $reemplazo, strtolower($cadena)); 
}


Voy a explicar un poco el código anterior: primeros hacemos un str_replace del insulto por el reemplazo, como ultimo parametro ($cadena) colocamos la cadena que deseamos filtrar pero antes le aplicamos un strlower para que la cadena se pase a minusculas y asi reemplzae todas las groserias.

Es muy sencillo de usar, por ejemplo si tiene una cadena que diga:

$cadena = "hola groseria1 bklablablabla";

y le aplican el filtro, cambiará groseria uno por ***.

Cabe destacar que pueden hacer una funcion que haga el filtrado de la cadena, les quedaría algo así:

Código :

function AntiInsultos($cadena){ 
//Definimos como global el array de las groserias: 
global $groserias; 
//Recorremos el array y reemplazamos 
foreach($groserias as $insulto => $reemplazo) 
{ 
$cadena = str_replace($insulto, $reemplazo, strtolower($cadena)); 
} 
//Devolvemos la cadena 
return $cadena; 
}


Espero les haya servido el tutorial.

Editado por pedro.

Por carlosfocus

36 de clabLevel



Genero:Masculino  



Ultima edición por carlosfocus el 13 Dic 2005 04:18 pm, editado 2 veces

Venezuela

msie
Citar            
MensajeEscrito el 13 Dic 2005 08:31 pm
OK.
Buena idea y aporte!
Ponle carnita y lo ponemos como post it.
Por cierto, mensajes basura -como siempre- serán borrados sin piedad.

SUGERENCIA: Carlos, mete el código en etiquetas de código para que se diferencia del texto, así se entenderá mejor.

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 13 Dic 2005 08:43 pm
Archivo para encriptar codigos en php, en dado caso que vendas un sistema esto es funcional para encriptar los codigos, OJO son desencriptables asegurate de tener respaldo, otra cosa no funciona en local tiene que estar montado en un SERVER.

http://www.phpfacil.net/web/hostscripts/scripts/focus.zip

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

msie
Citar            
MensajeEscrito el 13 Dic 2005 08:45 pm
Log de errores

Como crear un archivo que almacena los errores que se han producido durante la ejecución de un programa, añadir un log de errores a nuestra página.
Un log de errores, nos permitirá controlar cuando se ha
producido un error para corregirlo y evitar que se repita en el
futuro.

Para crear un log, abriremos el archivo en modo 'a' (escritura al
final) y escribiremos el error indicando la fecha, para simplificar el
trabajo lo podemos incluir todo en una función:

Código :

<?php 
function error($numero,$texto){ 
$ddf = fopen('error.log','a'); 
fwrite($ddf,"[".date("r")."] Error $numero: $texto\r\n"); 
fclose($ddf); 
} 
?> 



Una vez declarada la función, tansolo tendremos que llamarla de la
siguiente manera cuando se produzca un error para que se guarde en
error.log:

Código :

<?php 
// Si no existe la cookie sesion 
if(!isset($_COOKIE['sesion'])){ 
// Guardamos un error 
error('001','No existe la cookie de sesion'); 
} 
?> 



De esta manera, cada vez que un usuario entra a esta página sin la
cookie sesion, se almacena una nueva línea en el fichero indicando:

[fecha] Error 001: No existe la cookie de sesion

Vamos a ver ahora como podemos mejorar esto de manera que ademas de poder grabar los errores que nosotros definamos en nuestro sitio, nos almacene los errores producidos durante la ejecución del script php.

Esto lo conseguiremos indicando al interprete Zend que llame a la
función error() cada vez que el código PHP contenga un error con la
función set_error_handler:

Código :

<?php 
set_error_handler('error'); 
?> 



Entonces, el código completo nos queda de la siguiente manera:

Código :

<?php 
function error($numero,$texto){ 
$ddf = fopen('error.log','a'); 
fwrite($ddf,"[".date("r")."] Error $numero:$texto\r\n"); 
fclose($ddf); 
} 
set_error_handler('error'); 
?> 


Y de esta manera damos por finalizado nuestro script para generar un
log de errores personales y de PHP.

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

msie
Citar            
MensajeEscrito el 13 Dic 2005 08:52 pm
Banear IP

Primero creamos la tabla SQL:

Código :

CREATE TABLE baneadas (
id int auto_increment NOT NULL,
ip char(20) NOT NULL,
PRIMARY KEY (id)
); 


Luego creamos el archivo administrar.php:

Código :

<html>
<?
$clave="admin";

if ($pass==$clave) {
echo "
<head><script language=\"JavaScript\">
function confirmaBorra(ip) {
if (confirm(\"Estás seguro?\")) { document.location=\"". $PHP_SELF ."?ipBorrada=\"+ip+\"&accion=borra&pass=$clave\"; }
}
</script>";
?></head>
<body>
<?
include "config.php";
if (($accion=="banea") && ($ipBaneada)) {
mysql_query("INSERT INTO baneadas VALUES ('','$ipBaneada')");
echo "Ip baneada:<b>$ipBaneada</b>";
}
elseif (($accion=="borra") && ($ipBorrada)) {
mysql_query("DELETE FROM baneadas WHERE ip='$ipBorrada'");
echo "Ip borrada: $ipBorrada";
}
echo "<table style=\"width:100%;font-size:12;font-family:tahoma\" border=1 cellspacing=0 cellpadding=0><tbody>";
$query=mysql_query("SELECT ip FROM baneadas");
while ($r=mysql_fetch_row($query)) {
echo "<tr><td width=\"50%\">$r[0]</td>
<td><a href=# onClick=\"confirmaBorra('$r[0]');\">[Borrar]</a></td>
</tr>";
}
echo "<tr><td colspan=2>
<form action=\"". $PHP_SELF ."\" method=post>
Ip a banear: <input type=text name=ipBaneada><br>
<input type=submit value=\"Prohibir su entrada!\">
<input type=hidden value=\"$pass\" name=pass>
<input type=hidden value=\"banea\" name=accion>

</form>";
} else {
echo "<form method=post action=\"". $PHP_SELF ."\">
Password: <input type=password name=pass><br>
<input type=submit value=\"Entrar\"></form>"; }
?></body></html> 


Y para terminar el mete esto en el index.php:

Código :

<?
GLOBAL $REMOTE_ADDR;
include "config.php";
$query=mysql_query("SELECT ip FROM baneadas WHERE ip='$REMOTE_ADDR'");
$r=mysql_fetch_row($query);
if (!$r[0]) {
?>
<!## Aquí todo el código de vuestra web. TODO!
<html><body>... etc.
También puede haber <?php ... ?>
##>
<? } else {
echo "<html><head>
<title>ERROR.</title></head>
<body>Estas baneado en esta página, te es prohibido entrar.<br>
Por favor, abandona el sitio</body></html>";
}
?>   

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

msie
Citar            
MensajeEscrito el 13 Dic 2005 08:57 pm
Como hacer una copia de seguridad de una base de datos

Usando el mysqldump de MySQL para hacer copias de seguridad veremos como mandar a hacer una copia desde PHP.

En el script siguiente se debe reemplazar el nombre_de_la_base.sql por el nombre de su archivo, servidor_sql por el nombre del servidor en el cual está instalado su base, nombre_de_la_base por el nombre de su base de datos y contraseña por la contraseña asociada a su base

Código :

<?php
echo "Su base de datos se está guardando.......";
system("mysqldump --host=servidor_sql --user=nombre_de_la_base --password=contraseña nombre_de_la_base > nombre_de_la_base.sql");
echo "Fin. Puede recuperar la base por FTP";
?>




Este comando genera un archivo nombre_de_la_base.sql dentro del directorio donde esté ubicado el script.

Si alguna vez su base llega a ser demasiado grande, puede hacer una copia de cada tabla por separaddo, esto se consigue añadiendo la opción "--tables nombre_de_la_tabla".


mysqldump --host=servidor_sql --user=nombre_de_la_base --password=contraseña --tables nombre_de_la_base nombre_de_la_tabla> nombre_de_la_base_-_nombre_de_la_tabla.sql


De esta manera tendrá un fichero SQL por cada tabla de la base de datos.

Código :

<?php
echo "Su tabla está siendo guardada.......";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL --tables testbackup tabla01 > testbackup-tabla01.sql");
echo "Fin. Puede recuperar la base por FTP";
?>


También puede comprimir este fichero para lo descargar mejor en su ordenador (por FTP o por la web).
Para comprimir el archivo, ejecute el comando gzip que creara un fichero .sql.gz :


Código :

system("gzip nombre_de_la_base.sql");



Desde PHP seria:

Código :

<?php
echo "Su base está siendo salvada.......";
system("mysqldump --host=sql3 --user=testbackup --password=RtPgDsmL testbackup > testbackup.sql");
echo "Compresión del archivo.....";
system("gzip testbackup.sql");
echo "Fin. Puede recuperar la base por FTP";
?>

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

msie
Citar            
MensajeEscrito el 13 Dic 2005 09:18 pm
Rastrear a los robots de buscadores!

El siguiente artículo ayudará a rastrear motores de búsqueda por medio de las funciones de PHP $HTTP_USER_AGENT y $QUERY_STRING

Lo primero que vamos hacer es defnir el buscador al que vamos a rastrear. En este ejemplo utilizaremos a Google aprovechando que lidera el mercado.

Veamos el siguiente código php que debe usarse en todas las páginas de nuestra web que se encargarán de rastrear al robot (se sugiere utilizar este código en un solo archivo y luego incorporarlo por medio de la función include a todas las demás páginas):


Código :

 <?php
if(eregi("google",$HTTP_USER_AGENT))
{
if ($QUERY_STRING != "")
{$url = "http://".$SERVER_NAME.$PHP_SELF.'?'.$QUERY_STRING;}
else
{$url = "http://".$SERVER_NAME.$PHP_SELF;}
$today = date("F j, Y, g:i a");
mail("[email protected]", "Se ha detectado un robot de Google en http://$SERVER_NAME",
"$today - Google ha indexado la página $url.\n
..:: OTRA PÁGINA MAS :) ::..");
}
?> 

Este script reconoce al robot de google y la página en la cual realizo el escáneo, y envía un mail al webmaster de la página con los datos fecha y hora del suceso y nos da un breve mensaje de aliento (Un toque de estimulo no vine mal cierto), claro también se puede almacenar en una base de datos etc.

Es cuestión de inventar y ya les dí la base para empezar.

Ahora bien para los demás buscadores solo basta con cambiar: ("google",$HTTP_USER_AGENT) por el nombre respectivo al robot, ejemplo:

- Google: ("google",$HTTP_USER_AGENT )
- Yahoo: ("slurp",$HTTP_USER_AGENT )
- Altavista: ("scooter",$HTTP_USER_AGENT)


Si quieren utilizar algún otro robot, el listado de todos los robots está disponible en robotstxt.org

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

msie
Citar            
MensajeEscrito el 14 Dic 2005 03:27 pm
Usuarios ONLINE sin DB


En esta ocasion no usaremos ninguna BD, usaremos un archivo llamado usuarios.dat
Entonces, vamos a crear nuestro script PHP y lo llamamos activos.php


Código :

<?php

$tiempo_logout = 600; // segundos tras los cuales un usuario es marcado como inactivo

$arr = file("usuarios.dat");
$contenido = $REMOTE_ADDR.":".time()." ";

for ( $i = 0 ; $i < sizeof($arr) ; $i++ )
{
    $tmp = explode(":",$arr[$i]);
    if (( $tmp[0] != $REMOTE_ADDR ) && (( time() - $tmp[1] ) < $tiempo_logout ))
    {
        $contenido .= $REMOTE_ADDR.":".time()." ";
    }
}

$fp = fopen("usuarios.dat","w");
fputs($fp,$contenido);
fclose($fp);

$array = file("usuarios.dat");

$USUARIOS_ACTIVOS = count($array);
?>


Bueno, explicamos paso a paso lo que hace el script:


Lo primero es sacamos el usuarios.dat a un array
Creamos el archivo de texto con las IP y la hora de visita de los que visitan nuestra web
"Borramos" de ese archivo los que llevan más de $tiempo_logout sin actividad
Escribimos el fichero
Declaramos una variable $USUARIOS_ACTIVOS que contiene el número de usuarios activos del momento
Jeje....así de sencillo ;)

La forma de utilizar el Script, es muy sencilla, al principio de cualquier página de tu web, pones <?php include("activos.php") ?> y donde quieras mostrar el número de usuarios, usas la variable $USUARIOS_ACTIVOS.

Por carlosfocus

36 de clabLevel



Genero:Masculino  

Venezuela

firefox
Citar            
MensajeEscrito el 16 Ene 2006 01:51 pm

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 27 Ene 2006 04:25 am
Hola, queria preguntarte si conoces y me puedes recomendar algun encriptador de codigo PHP, que no sea Zend.

En especial uno que cambie el nombre de las variables, los espacios de mas y las funciones, en realidad que el codigo quede muy dificil de decifrar, aunque no "encriptado", y sin necesidad de subir archivos de desencriptacion al servidor.

Muchas gracias por los codigos!!!

Por kurko

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Ene 2006 02:36 pm
Notepad, Zend, ionCube, norecuerdoelnombre V-1.5 Etc...

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.