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

#31
Hola,

Esto es una sugerencia para mejorar el código, no va con mala intención:

La función ereg ya se está quedando obsoleta y de hecho en PHP 6 desaparecerá, POSIX es mucho peor que PCRE (por esto es que desaparecerá) así que te recomiendo cambiar la funión ereg por preg_match.

Usad PCRE , aquí la documentación: http://es.php.net/manual/en/book.pcre.php

Saludos!
#32
Hola,

El REFERER no es seguro obviamente.. no necesitas hacer spoofing, el REFERER es una cabecera y como tal es editable, solo da información desde donde según el cliente él está accediendo, pero como dije, SEGÚN EL CLIENTE, lo que quiere decir que él puede decir que viene de google pero esto puede no ser cierto.

Punto 14.36:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

P.D: Por ejemplo, me colaría en tu panel con solo poner http://www.google.cl/ en el REFERER:

Citar
Panel de administracion ultrasecreto xD

pronto...

Gracias por su visita... Powered by janito xDDD 2009

Saludos!
#33
PHP / Re: Formularios php
15 Agosto 2009, 02:38 AM
Hola,

Pues Apache+PHP+MySql, creo que en windows hay un pack que se llama appserv que lo trae todo:

http://www.appservnetwork.com/

Saludos!
#34
PHP / Re: Pregunta con $_SESSION php
14 Agosto 2009, 18:07 PM
Hola,

Como dice miguel86, las sesiones se guardan en el servidor, lo que guarda el cliente es un ID que identifica a la sesión.

Lo que quieres hacer es simple, creas una clase para los usuarios, aquí te dejo un ejemplo:

Código (php) [Seleccionar]

/*****************************************
* Funciones para las cuentas
****************************************/
class ACC {
public $id; // Account ID
public $auser; // User ID
public $pass; // Pass cifrada
public $level; // Nivel
/******************************************************
* Inicializar la sesión de la cuenta
* $_SESSION['us'] = new ACC(<columnas del select>);
*****************************************************/
public function ACC($a) {
global $cnf;
list($this->id, $this->auser, $this->pass, $this->level) = $a;
$this->pass = md5(sha1($this->pass)); // ciframos la pass
$this->level = (isset($cnf['lvl'][$this->level]))?$cnf['lvl'][$this->level]:$cnf['lvl']['Defecto'];
return;
}
}


Luego $cnf es el archivo de configuración, haces algo así:

Código (php) [Seleccionar]


$leer = 1;
$editar = 2;
$crear = 4;
$banear = 8;

$cnf = array ( 'lvl' => array ( "Admin" => $leer | $editar | $crear | $banear, // Todos los permisos
                                 "Defecto" => $leer )); // Defecto será cuando el nivel seleccionado en la DB no exista


Entonces cuando inicie sesión pones:

Código (php) [Seleccionar]

$_SESSION['us'] = new ACC($rs->fetch_row); // Les pasas los datos seleccionados


Pongamos que quieres comprobar los permisos de creación:

Código (php) [Seleccionar]

if(isset($_SESSION['us'])){ // Si no está logeado
header("Location: /");
exit;
}

if($_SESSION['us']->level & 4)
echo "Tiene permisos para crear";
else echo "No tiene permisos para crear";


Ojalá te sea de ayuda.
Saludos!
#35
PHP / Re: Transferir multiples archivos
14 Agosto 2009, 02:04 AM
Hola,

Es decir, que el usuario introduce los links en un textarea, ¿no?, entonces pon: Introduce un link por linea, y en el PHP haces algo así:

Código (php) [Seleccionar]

$links = explode('\n',$_POST['links']);

for($i=0; $i<sizeof($links); $i++)
       echo "Link $i: ".$links[$i];


Es que de verdad que no entiendo muy bien si te refieres a eso xD, ¿quieres obtener los links de un textarea no?

Saludos!
#36
PHP / Re: Transferir multiples archivos
14 Agosto 2009, 01:31 AM
Hola,

Y ¿por qué no haces un bucle que imprima todos los input?, de esa manera le pones de ID un número y luego simplemente vas recorriendo con el bucle todos las variables y copiando todos los archivos.

¿Eso te serviría? es que no entendí bien..

Saudos!
#37
PHP / Re: 2 Preguntas :S
13 Agosto 2009, 17:57 PM
Hola,

\xFF\xFF\xFF\xFFinfo\x00

Son los paquetes (no los cambies si no conoces como funciona el protocolo) e info es la cadena ASCII que se manda en los paquetes para identificarlo en el servidor y devolver los datos (IP etc..)

Yo estoy haciendo algo así para otro juego, ¿te marca algún error el archivo? (activa display_errors) si no te marca error pero te funciona en tu PC.. posiblemente no tiene permiso para usar sockets, porque viendo el changelog de fsockopen no veo ningún cambio en la 5.0 o 5.2, el último fue en la 4.3.

El único cambio que hay es en la función: socket_get_status

Citar
Version     Description
5.0.0    The following entries were added in the returned array: mode, seekable, and uri.
4.3.0    The following entries were added in the returned array: stream_type, wrapper_type, wrapper_data, and filters.
4.3.0    socket_get_status() is an alias for this function. Prior to PHP 4.3.0, it was used to retrieve the first four items, for socket based streams only.

Mírate a ver si tienes que cambiar algo.

A y por cierto, no es lo mismo las funciones de socket: http://es.php.net/manual/en/ref.sockets.php

Que las de http://es.php.net/manual/en/ref.network.php

Lo digo por si prefieres probar las de sockets.
Ojalá te sea de ayuda.

Saludos!
#38
PHP / Re: Porque falla?
11 Agosto 2009, 19:22 PM
Hola,

Necesitas un servidor de correos, te recomiendo Postfix.

Cita de: php
For the Mail functions to be available, PHP must have access to the sendmail binary on your system during compile time. If you use another mail program, such as qmail  or postfix, be sure to use the appropriate sendmail wrappers that come with them. PHP will first look for sendmail in your PATH, and then in the following: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. It's highly recommended to have sendmail available from your PATH. Also, the user that compiled PHP must have permission to access the sendmail binary.

Ese error es porque no tiene acceso al SMTP de tu servidor de correos (el protocolo para enviar mensajes)

Ojalá te sea de ayuda, si tienes un servidor de correo, mira bien el puerto y tal en php.ini.

http://es.php.net/manual/en/book.mail.php
Saludos!
#39
PHP / Re: PHP implementar
11 Agosto 2009, 00:35 AM
Hola,

Un par de cositas que vienen bien a la hora de utilizar PHP:

Código (php) [Seleccionar]

// Esto es igual que
<a href="<?=$id?>">Hola</a>
// Que esto otro
<a href="<? echo $id; ?>">Hola</a>


Además si no deseas usar extensión php (por ejemplo, yo la extensión php la uso para archivos que solo se pueden ejecutar en el servidor) puedes usar otra y que lo interprete como php (esto en .htaccess suelo colocar algo así):
Código (apache) [Seleccionar]

# Los archivos php y ext serán interpretados como aplicación PHP
AddType application/x-httpd-php .php .ext

# Bloqueo el acceso a los PHP (solo los quiero para includes por ejemplo)
<FilesMatch "\.php$">
Order Allow,Deny
Deny from All
</FilesMatch>



Ojalá te sea de ayuda para empezar a aprender :p

Saludos!
#40
PHP / Re: Sistema de permisos con PHP
9 Agosto 2009, 16:51 PM
Hola,

Utiliza bitwise, ejemplo:

Código (php) [Seleccionar]

$escribir = 1;
$leer = 2;
$eliminar = 4;
$banear = 8;

$level = array ('Admin' => $escribir | $leer | $eliminar | $banear, 'Anonimo' => $leer);


Entonces en la DB solo tienes que tener una columna, la columna level o como quieras y pones a cada uno el nivel, por ejemplo Admin, entonces para comprobarlo:

Código (php) [Seleccionar]

// $NIVEL es el valor de la columna level
if($level[$NIVEL] & 1) echo "Puede escribir";
if($level[$NIVEL] & 2) echo "Puede leer";
if($level[$NIVEL] & 4) echo "Puede eliminar";
if($level[$NIVEL] & 8) echo "Puede banear";
// En caso de Admin los cuatro if se cumplirían y en caso de Anonimom solo se cumpliría el primero


Más información: http://es.php.net/manual/en/language.operators.bitwise.php

Saludos!
Más información: