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

#481
PHP / Re: crear enlaces seguros para las paginas php
25 Septiembre 2014, 19:37 PM
CitarYo digo que sería mejor tener una URL como:

http://sitio.com/site/login

Esa era la idea en un principio, ahora mismo lo mas cercano a eso que tengo es:

www.sitio.com/?site/login

Y me gustaría poder hacer eso que comentas... ¿Podrias decirme como podria hacerlo con el mod_rewrite? Ya tengo un .htaccess preparado :)

Pero volviendo al otro problema, es posible hacer que el codigo actual solo lea hasta & y apartir se interprete como otra variable? Para poder hacer que funcione ?site/login&error=1

Gracias!
#482
PHP / Re: crear enlaces seguros para las paginas php
25 Septiembre 2014, 12:47 PM
Necesito saber como darle un valor por defecto a la variable server, si lo hago asi no lee ningun input y siempre se muestra home...
index.php
Código (php) [Seleccionar]
<?php

include_once 'themes/default/views/layouts/main.php';

$views 'views/';
$site $views 'site/';
$user $views 'user/';

$_SERVER['QUERY_STRING'] = 'home'// Alguna otra manera?

$includes = array(
'home' => $views 'home.php',
'site/login' => $site 'login.php',
'site/logout' => $site 'logout.php',
'site/contact' => $site 'contact.php',
'site/about' => $site 'about.php.php',
'user/register' => $user 'register.php',
'user/referral' => $user 'referral.php',
'user/friend' => $user'friend.php',
'user/register_success' => $user 'register_success.php'
);

if(
array_key_exists($_SERVER['QUERY_STRING'], $includes)) {
$content = include($includes[$_SERVER['QUERY_STRING']]);
return true;
} else include(
'views/404.php');

// Esto va en themes/default/views/layouts/main.php
/*
if(array_key_exists($_SERVER['QUERY_STRING'], $includes)) {
echo $content;
}else print_r(error_get_last());
*/
?>


Ahora mismo, sin ningun echo $content se muestra igualmente el include, ¿por que?
¿Como hago para que no se muestre ningún include si no hay un echo?

Gracias.

Edito: Y a todo esto... si necesito hacer inputs en esas paginas, por ejemplo, antes era: login.php?error=1 y ahora como seria? porque ?site/login&error=1 no funciona
#483
PHP / Re: crear enlaces seguros para las paginas php
25 Septiembre 2014, 00:14 AM
Gracias, acaba de armar algo y parece funcionar correcto, ¿veis algo mal? ¿es seguro?

index.php
Código (php) [Seleccionar]
<?php

include_once 'themes/default/views/layouts/main.php';

$whitelist_home = array("home");
$whitelist_site = array("site/login""site/logout""site/contact""site/about");
$whitelist_user = array("user/register""user/referral""user/friend""user/register_success");

if(
in_array($_SERVER['QUERY_STRING'], $whitelist_home)) {
if(in_array('views/'.(string)$_SERVER['QUERY_STRING'].'.php'glob('views/*.php'))) {
$home = include('views/'.(string)$_SERVER['QUERY_STRING'].'.php');
} else include('views/404.php');
} elseif(
in_array($_SERVER['QUERY_STRING'], $whitelist_site)) {
if(in_array('views/'.(string)$_SERVER['QUERY_STRING'].'.php'glob('views/site/*.php'))) {
$content = include('views/'.(string)$_SERVER['QUERY_STRING'].'.php');
} else include('views/404.php');
} elseif(
in_array($_SERVER['QUERY_STRING'], $whitelist_user)) {
if(in_array('views/'.(string)$_SERVER['QUERY_STRING'].'.php'glob('views/user/*.php'))) {
$content = include('views/'.(string)$_SERVER['QUERY_STRING'].'.php');
} else include('views/404.php');
}

if(!
$_SERVER['QUERY_STRING']) {
echo $home = include('views/home.php'); // Esta es la pagina que se muestra por defecto
}

if(
$_SERVER['QUERY_STRING'] == "home") {
echo $home;
}elseif(
in_array($_SERVER['QUERY_STRING'], $whitelist_site)) {
echo $content;
}elseif(
in_array($_SERVER['QUERY_STRING'], $whitelist_user)) {
echo $content;
}else 
print_r(error_get_last());

?>


¿Hay algún problema si utilizo ese include_once (lo que uso actualmente para incluir paginas como functions.php) sin ningún if ni nada para mostrar una pagina (que es la base de la web) en el index.php?

Por alguna misteriosa razón justo despues del texto de home.php se añade un 1 sin espacio... ¿Que esta imprimiendo ese 1?

Aparte de que ese script de echos hay que mejorarlo, tiene que ir en el archivo main.php y cuando los he puesto han empezado los errores de variable no definida. Todo son problemas :)

Gracias!
#484
PHP / Re: crear enlaces seguros para las paginas php
24 Septiembre 2014, 21:15 PM
Gracias por las respuestas.

Eso de la tabla de rutas que comenta engel lex es interesante, es algo parecido a lo que comenta WHK, las "whitelist".

Pero en el ejemplo que has puesto, ¿asi tal cual sería seguro? sin hacer un preg_replace o str_replace? Y lo que dice MinusFour, lo de limpiar los input, tiene algo que ver tambien con sanitizar?

Me gustaría algo para no tener que mostrar la ruta, simplemente un nombre, poniendo la ruta en el script.

Por ejemplo si quiero llamar al archivo: register.php dentro de 'views/user/'

Y el link quedase: index.php?register ¿O esto no es seguro?

Pero no se si seria un problema para mostrar el contenido, lo que quiero hacer tambien y no se si hay otra manera mejor, es tener un layout con header (header+menu) y footer, y en medio haciendo un echo content(); para cargar el contenido de los views y no tener que cambiar nada del layout en todas las paginas de contenido. El index.php cargaría el layout y el layout cargaria los views.

¿Hay algún problema para hacer eso? Supongo que hara falta crear una funcion para cargar el contenido.

Gracias!
#485
PHP / crear enlaces seguros para las paginas php
24 Septiembre 2014, 13:16 PM
Hola, me gustaría saber cual es la manera mas segura de crear enlaces seguros para las paginas de mi sitio web.

Acaba de leer un pequeño tutorial donde aparece un codigo con el que se supone que no será facil hackear la web, pero es del año 2006 y tengo dudas por si ya no es tan seguro como lo era antes... Aqui esta el link: Safe Dynamic Includes

Tambien he visto otra manera: Safe Dynamic Includes, pero tampoco se si hay otras maneras mas seguras para crear los links de una pagina a otra.

Lo normal es las paginas suele ser

Código (html5) [Seleccionar]
<a href="index.php?x=pagename">Link</a>

Pero al parecer cambiando la variable de sesion por otra, el link puede ser de otra manera:

Código (php) [Seleccionar]
$_GET['x']; -> $_SERVER['QUERY_STRING'];

Código (html5) [Seleccionar]
<a href="index.php?pagename">Link</a>

¿Podriais confirmar que maneras son más seguras?

Gracias!
#486
Hola, tengo que migrar una base de datos y al parecer las imagenes de perfil de los usuarios vienen dentro. No se que codificacion tienen, pero he mirado en el dump y todo apunta a que estan en hex:

http://pastebin.com/fauxgT3u

En el dump del sql aparece todo junto y en mayusculas. Todas las imagenes empiezan asi:

0x6C740000B61E0100424DB61E010000000000360000002800000080000000BF0000000100180000000000801E010000000000000000000000000000000000

Las imagenes fueron tomadas (con webcam) y guardadas en sqlite por una aplicacion de escritorio.

Código (php) [Seleccionar]
//test.php

//header('Content-Type: image/jpeg');

$hex = 'hex code';

$filename = 'image.jpg';

file_put_contents($filename, pack('H*', $hex));


Estoy intentando mostrarlas en la nueva web o mas facil, sacarlas a archivo, pero no funciona nada de lo que intento, alomejor no es hexadecimal... ??

Gracias!
#487
hehehe Mi fuerte es C++ pero no tengo claro como hacerlo. Se abrir el archivo sqlite y leerlo con alguna libreria que maneje tablas y columnas sql, pero no sabria abrir una conexion y luego hay que pensar como hacerlo: insertando directamente, haciendo un update a todo, o sincronizar... o comprar y actualizar...

Nunca he trabajdo con mysql en c++, supongo que sera parecido que en php lol

Mas o menos la aplicacion haria algo como abrir el archivo e interpretarlo como base de datos sql y crear un prepared statement para ejecutarlo en mysql, obviamente abriendo una conexion al servidor y seleccionando base de datos y tabla.

La verdad es que no tengo mucha idea de como hacerlo, si aparece por ejemplo una nueva id en una tabla (nuevo usuario) se haria un if para saber si hay una nueva id y pasarla a mysql.... La aplicación solo modifica una columna o dos columnas, creo, de los usuarios ya creado entonces seria actualizar esas columnas y inserta un nuevo usuario si se ha creado.

No se, ¿puedes decirme como lo harias tu?

Gracias!
#488
Hola, necesito de alguna manera conectar una aplicacion a una base de datos mysql pero que utiliza una base de datos sqli (file.mdb). La idea es que la aplicacion envie consultas a mysql.

¿Como podria hacer eso? ¿Que lenguaje de programación sería el más adecuado para esto?

Seguramente solo sea posible accediendo al archivo .mdb y sincronizando con mysql, en tal caso tambien seria necesario que la aplicacion haga lo contrario, sincronizar la db de mysql con el archivo sqlite.

¿Alguna idea para empezar?

Gracias!
#489
Bases de Datos / cambiar conexion sqlite a mysql
22 Septiembre 2014, 13:23 PM
Hola, no se si este es el apartado correcto, pero alla va: Tengo una aplicacion que guarda datos en un archivo sqlite (file.mdb) y me gustaría saber si hay alguna manera de redireccionar para que guarde en una base de datos en un servidor mysql.

¿Es esto posible?

Gracias.
#490
Notepad++ es de los mejores editores de codigo, es muy simple, no tienes que configurar nada para usarlo. Viene con el highlight configurado para cada lenguaje, tiene un autocompletar basico, pestañas con memoria (como ya han dicho) y hay plugins para conectar al ftp... Aunque yo personalmente prefiero trabajar en localhost con algun repack, como xampp, ¡odio el ftp! hehehe :P

¿Que mas se puede pedir? :)