Ver Mensaje Individual
  #13 (permalink)  
Antiguo 25/04/2013, 05:54
SeaPirates
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: [Duda] Almacenar código php

Cita:
Iniciado por dashtrash Ver Mensaje
Exactamente, qué diferencia hay entre usar un código enviado por un usuario , interpretándolo como una cadena, y usando "eval", que interpretarlo como código php y usarlo con "include"?

La cosa de que "eval es peligrosooo!!No lo useeees!!" viene de que hay algunos casos en los que puede ser extremadamente peligroso, y poniendo la venda alrededor de todo el cuerpo, la conclusión es "no lo uses jamás"...Al no entender exactamente el por qué, uno acaba tranquilo porque usa "include" en vez de "eval"...
Pues es exactamente lo mismo....
Porque no quería usar archivos php, pero si dicen que es muy poco seguro... La idea es crear una aplicación, a la que solo tenga acceso poca gente a la que yo les de. Además de que para probar las aplicaciones no se prueban en el mismo sitio web, si no en una aplicación "sandbox"

Cita:
Iniciado por xorow Ver Mensaje
Por que no haces algo similar a lo que hace facebook?

Deja que se creen sus propios php, pero no dejes que hayan conexiones a la base de datos u otras funciones. Un ejemplo sería te creas tu función que hace las consultas a la base de datos y restringe cuales acciones no son posible.
Pero si permites php, pueden programar cualquier cosa. Y el único modo que conozco es crear como etiquetas para que al reemplazarlas sean funciones en php con sus parametos..

<application title="test" width="100" height="200"></application>

El problema es que si usas preg_replace (Que ya lo he intentado) y pasas esos parámetros a través de una función no los ejecuta correctamente. Por ejemplo:

'/\<application title\="(.*?)"\ icon\="(.*?)"\ id\="(.*?)"\ width\="(.*?)"\ height\="(.*?)"\ top\="(.*?)"\ left\="(.*?)"\ max\="(.*?)"\ min\="(.*?)"\ close\="(.*?)"\>(.*?)\<\/application\>/is',

Se reemplaza con:

getApp('$1,'$2,'$3', etc..)

Pero al realizar consultas MySQL en esa función, no las recoge correctamente parece..