Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - iStocker

Páginas: [1] 2 3 ... 7
1
PHP / Re:obtener datos de MYSQL mediante GET,problema con palabras.
« en: 05 de Agosto de 2015, 09:27:44 am »
No tiene mucha complicación, lo que tienes ahí son reglas para la consulta por URL. La URL camuflajeada es procesada mediante un código regedix (en este caso es ([a-zA-Z0-9]*) para luego la información ser enviada a el archivo que va a procesarlo todo ¿Qué significa ésto? Que todos los caracteres que estén entre el alfabeto sean minúsculas o mayúsculas o tengan un número, sin importar la longitud será una consulta válida y se enviarán al archivo... Entendiendo esto sabemos que cualquier consulta que sea recibida así será camuflada como tal y en realidad la información se enviará a otro archivo, en este caso perfil.php?id=$1 (el $1 es una variable donde se almacena el dato consultado en la URL mediante la regla regedix).

Una vez entendido todo esto podemos intuir que el funcionamiento que deseas hasta el momento es correcto, entonces ¿Qué pasa? Lo que sucede es que al momento de que el archivo lee la información enviada puede procesarla erróneamente o no como se desea, si lo vemos de tal manera entonces suponemos que el algoritmo falla en algo, pero ¿Dónde trabajamos la información? En primera instancia en la consulta que se hace a la base de datos, vamos a revisarla y... ¡Eureka (vaga traducción de 'Lo he descubierto' del griego)! Nuestra consulta no trabaja la información como nosotros deseamos, así que la editamos para que lo haga...

Código: [Seleccionar]
$perfilados =mysql_query("SELECT * FROM usuarios WHERE id=".$id_perfil);
Si analizamos la consulta nos dice que seleccione toda la información de la tabla usuarios donde la columna id sea igual a la variable recibida por el método GET, pero nosotros queremos que también busque por nombre de usuario (he intuido que el nombre de usuario se almacena en la columna usuario, no sé si esté en lo correcto), así que le decimos a la consulta que también busque por el nombre de usuario con el operador lógico OR/||...

Código: [Seleccionar]
$perfilados =mysql_query("SELECT * FROM usuarios WHERE id= ".$id_perfil." OR usuario = '".$id_perfil."');
Observaciones:
- El motor MySQL está oficialmente considerado obsoleto, por lo tanto te recomendaría empezar a utilizar el nuevo motor MySQLi.
- Tu sistema en las consultas es vulnerable, te recomiendo consultas sobre inyecciones SQL y cómo evitarlas en PHP.
- Intenta tener un mejor manejo en la estructura de acuerdo al MVC.

Consulta 'protegida' contra inyecciones sql
Código: [Seleccionar]
$perfilados =mysql_query("SELECT * FROM usuarios WHERE id= ".mysql_real_escape_string($id_perfil)." OR usuario = '".mysql_real_escape_string($id_perfil)."');
Espero haberte ayudado o solucionado tu duda.
Saludos y suerte.

2
Presentaciones / Re:Hola Phperos ;D
« en: 05 de Agosto de 2015, 09:07:52 am »
Perdón por revivir el tema, pero debo de admitir que ha pasado bastante tiempo desde entonces y aunque no soy muy activo de vez en cuando me paso, creo que es suficiente para mí y decir que logré quedarme en la comunidad  :D

Saludos.

P.D. Aún no sé quién es el dueño de esto ni quiénes moderan...

3
Debido a un tópico externo creado hace poco donde un usuario explicaba que quería crear una manera de hacer un sistema para actualizaciones automáticas, después de orientarle un poco me intrigo el hecho de crear uno, y así lo he hecho... Les dejo la clase abajo y subiré un pequeño ejemplo del funcionamiento.

Tópico: [Ayuda] Quiero crear un sistema de actualizaciones

El sistema tiene un funcionamiento simple, hace una consulta a un sitio externo (servidor) donde se encuentra un archivo que imprime la versión más actualizada, la compara con la instalada y en caso de haber una nueva versión descarga un archivo ZIP y la descomprime en una carpeta raíz, toda la clase viene explicada en comentarios.'

class.update.php
[spoiler]
Código: (php) [Seleccionar]
<?php
/**
* @author  iStocker <skype:DeathsInTheSky> [url]http://kekomundo.com/foro/index.php?action=profile;u=12804[/url]
* @package  AutoUpdate
* @version  1.0
**/

class Update
{
public  $_currentVersion;
public  $_actualVersion;
public $_updateUrl;
public $_updateFile;
public $_installDir;
public  $_downloadDir;
public  $_deleteZip;

/**
* @param  string  $cVersion  Versión del script
* @param  string  $uUrl  URL del servidor
* @param  string  $iDir  Directorio raíz de la instalación
* @param  string  $uFile  Fichero del servidor que tiene la versión actual
* @param  string  $uCarpet  Directorio donde se alojará el archivo descargado (ZIP) según el directorio raíz de instalación
* @param  bool  $dZip  Borrar el fichero ZIP al final de la instalación
**/
public function __construct($cVersion$uUrl$iDir$uFile 'updateFile.php'$uCarpet 'upload'$dZip true)
{
$this->_currentVersion $cVersion;
$this->_installDir $iDir;
$this->_updateFile $uFile;
$this->_deleteZip $dZip;

$this->setDownloadDir($this->_installDir DIRECTORY_SEPARATOR $uCarpet DIRECTORY_SEPARATOR);
$this->setUpdateUrl($uUrl);
}

/**
* @param  string  $dDir  Directorio donde se alojará el archivo descargado (ZIP) según el directorio raíz de instalación
*
* @return  void  Comprueba que exista el directorio, caso contrario lo crea.
**/
public function setDownloadDir($dDir)
{
if(!file_exists($dDir))
mkdir($dDir0777true);

$this->_downloadDir $dDir
}

/**
* @param  string[url]  URL del servidor de descarga.
*
* @return  void  Comprueba la legitimidad de la url.
**/
public function setUpdateUrl($updateUrl)
{
if(!filter_var($updateUrlFILTER_VALIDATE_URL))
throw new Exception('URL no válida ' $updateUrl);

$this->_updateUrl $updateUrl;
}

/**
* @return  boolean  Comprueba las versiones.
**/
public function checkVersion()
{
$this->_actualVersion file_get_contents($this->_updateUrl $this->_updateFile);

if(!$this->_actualVersion)
throw new Exception('El archivo que intentas consultar no existe en la URL ' $this->_updateUrl . $$this->_updateFile);

return version_compare($this->_currentVersion$this->_actualVersion'<');
}

/**
* @return  boolean  Comprueba si ha sido descargado el fichero anteriormente, caso contrario lo descarga y lo almacena.
**/
public function updateDownload()
{
if(file_exists($this->_downloadDir $this->_actualVersion '.zip'))
return true;

$tmpRead file_get_contents($this->_updateUrl $this->_actualVersion '.zip');

if(!$tmpRead)
throw new Exception('El fichero ZIP no se encuentra en el servidor. Intenta de nuevo más tarde.');

$tmpDir = new SplFileInfo($this->_downloadDir $this->_actualVersion '.zip');
$tmpObj $tmpDir->openFile('w'); 

if(!$tmpDir->isWritable())
throw new Exception('Imposible crear fichero descargado por errores de escritura');

$tmpObj->fwrite($tmpRead);

unset($tmpRead);
unset($tmpDir);
unset($tmpObj);

return true;
}

/**
* @return  boolean  Descomprime el archivo y lo elimina en caso de así haber sido configurado.
**/
public function unZip()
{
$tmpZip = new ZipArchive;

if(!$r $tmpZip->open($this->_downloadDir  $this->_actualVersion '.zip'))
throw new Exception('Imposible descomprimir archivo ZIP');

$tmpZip->extractTo($this->_installDir);
$tmpZip->close();

if($this->_deleteZip)
$this->deleteZip();

return true;
}

/**
* @return  boolean  Comprueba si el archivo existe, caso contrario lo elimina.
**/
public function deleteZip()
{
if(!file_exists($this->_downloadDir  $this->_actualVersion '.zip'))
return true;

return unlink($this->_downloadDir  $this->_actualVersion '.zip');
}
}
?>
[/spoiler]

Ejemplo de uso: iStocker/Update · GitHub

Como se puede notar la clase tiene diferentes métodos todos públicos, para poder trabajarla de una forma dinámica y poder utilizar todas las funciones de forma diferente.

Fuente: http://kekomundo.com/foro/index.php?topic=413734.0

Saludos.

4
PHP / Re:[AYUDA] Desencriptar código PHP
« en: 21 de Junio de 2014, 20:56:58 pm »
Las variables contienen código PHP cifrado con base64, después se ejecuta con eval. Falta una variable ($e_dvc) y creo que ésa es la que descifra la variable $e_evc.

Saludos.

5
PHP / Re:{Ayuda} — Problemas con CronJobs
« en: 15 de Mayo de 2014, 07:27:27 am »
Perdón por la impertinencia... Pero no entiendo a que te refieres.
El sistema que utilizas requiere de MySQL porque es el motor de la base de datos que utiliza, revisa que tengas instalado MySQL, por éso te da el error.

6
PHP / Re:{Ayuda} — Problemas con CronJobs
« en: 12 de Mayo de 2014, 10:03:10 am »
En caso de tener MySQL instalado, correlo en la máquina.

7
PHP / Re:{Ayuda} — Como ejecutar una script php cada x tiempo?
« en: 11 de Mayo de 2014, 08:30:10 am »
Ya... El problema es que he leido sobre el Cron y creo que es la manera más acertada, por que es para que se ejecute sin necesidad de ningún apoyo externo y no entiendo nada de Js ni de AJAX
A mi se me hace mejor lo de el CronJobs, debido a que es del lado del servidor y deja menor información expuesta.

8
PHP / Re:{Ayuda} — Como ejecutar una script php cada x tiempo?
« en: 09 de Mayo de 2014, 12:39:27 pm »
Puedes hacer una petición AJAX con JS, o puedes crean o utilizar un cronJobs.

9
PHP / Re:ayuda como se puede leer una imagen de un codigo de barra en php
« en: 02 de Abril de 2014, 06:44:54 am »
No es tan fácil como creen, pero al mismo tiempo es bastante complicado. Primero que nada deben de saber que existen diferentes tipos de código de barras de ADN (es el nombre completo). El más simple de todos es cuando una barra negra representa 1, y un espacio en blanco 0, claro que si quieres almacenar más información te será imposible a menos que utilices metros para tu imagen, que es poco factible, por eso es que se utilizan diferentes tipos de cifrado y debes de reconocer a qué tipo de cifrado corresponde el código de barras, que éso sí que es un lío. Además en otros se mide el grosor de las barras negras porque así se le da un concepto nuevo y muchas cosas más, debes de leer bastante del tema para poder descifrar un código de barras.

Saludos.

10
Proyectos y búsqueda de equipos / Re:[GRAN PROYECTO] Busco a los mejores
« en: 28 de Noviembre de 2013, 05:26:44 am »
Pues POO no es un lenguaje de programación, desde ahora te lo digo, es un paradigma de la programación y tampoco Flash es un lenguaje, sin embargo, Action Script sí que lo es.

Saludos.

11
General / Despejar x de una ecuación.
« en: 17 de Octubre de 2013, 07:40:51 am »
Hola, bueno, necesito despejar x de la ecuación

a = (5x+y)/z

Donde ................ z =( x + y) = 313 ........................... a = 4.654952.

Sustituyendo nos quedaría

4.654952 = (5x+y)/313

Lo intenté hacer despejando y luego por método de sustitución y no me dio de ninguna manera, la verdad que no me da para más el tiempo si no seguiría intentando, les agradecería bastante su ayuda.

Saludos.

12
PHP / Re:Traspasar registros de una tabla a otra
« en: 29 de Septiembre de 2013, 01:51:28 am »
Sé que no te daré una respuesta válida en teoría, pero te recomiendo MUCHO no usar PHP para ninguna exportación o importación de bases de datos, tarda mucho y es un proceso que consume muchos recursos del sistema.
Si tienes acceso a una consola de comandos/terminal te recomiendo hacer un script o utilizar una aplicación consola programada por ti, eso te ahorrará bastante tiempo. Todo ésto te lo digo por experiencia, lo que hace el interprete de PHP en 1 hora lo puedes hacer en 10 minutos con la consola o la terminal, y si lo haces como una aplicación web tardará mucho más, últimamente yo únicamente utilizo la terminal o la consola para este tipo de tareas ya que manejar bases de datos muy grandes es una tarea que se dificulta por la información.

Saludos y suerte.

13
http://digitalicon.es/blog/funcion-calc-css3/

Busqué una descripción de la función que mencionaste puesto que no la conocía, y al final del artículo me encontré con una alternativa para uno usar calc(), espero y te sirvac:

14
JavaScript / Re:Cargar mas contenido ajax!
« en: 19 de Septiembre de 2013, 11:15:35 am »
No lo revisé del todo debido a que son las 3:10 am y ma;ana madrugo, así que te comentaré las dos cosas que alcancé a observar...

Código: [Seleccionar]
$('.more').live("click",function()
Me parece que es mejor utilizar .onClick()

Código: [Seleccionar]
$("#more"+ID).remove();
Hay una diferencia muy grande entre usar # y ., no te lo sabría explicar ya que no sé los términos correctos, pero tienen que ver con CSS. Otra cosa es que "#more"+ID reemplazando la ID y suponiendo que ésta es 1 sería #more1, por lo tanto está mal, CREO que debería de ser algo como ".more[id="+ID+"]", no estoy completamente seguro y tendrías que corroborarlo.

Suerte.

15
Proyectos y búsqueda de equipos / Re:Expertos en html,php,etc para Habbo Web Fan
« en: 19 de Septiembre de 2013, 11:07:30 am »
Si te animas a hacerlo tu solo todos podemos ayudarte, lo que no vamos a hacer es darnos la currada para que tu cobres los beneficios, no somos usuarios de kekomundo, aquí trabajamos seriamente y hacemos páginas de calidad sin fallos en el código y bien estructurado.

Saludos.
Hay muchas personas en KekoMundo que tienen conocimientos muy amplios y algunos hasta carreras ya terminadas o en curso, y aunque bien no puede ser en el campo de la informática, no creo que deberías de globalizar el prejuicio de una comunidad simplemente porque sí, hay usuarios que tienen compa;ías SERIAS donde desarrollan aplicaciones para Android, la verdad que sólo he visto una completamente seria, pero igual las hay y podría haber más en un futuro.

---

Ciertamente, nadie te hará una página web para que te lleves el crédito, y tal vez les des los créditos correspondientes, pero si por alguna dis***** u otra razón echas al equipo que te programó la web, será tiempo perdido de ellos. Si quieres hacer una web fan de Habbo sin ser parte del equipo de desarrollo lo mejor es que te presentes como el organizador, el que solventa los gastos y el que se encarga del marketing, que así les trabajas un poco más el coco y piensan mejor de la situación, ingeniería social...

Saludos y suerte en el proyecto.

Páginas: [1] 2 3 ... 7