[eside-ghost] String demasiados largos desde php a shell bash
ALi
osatien en gmail.com
Mie Abr 2 11:17:20 CEST 2008
On 4/2/08, Fran Mosteiro <framosval en gmail.com> wrote:
> Egunon!
> A ver si me podeis echar una manita (anuque sea de pintura o incluso al
> cuello :P) con un temita que tengo entre manos; y a ver si soy capaz de
> explicarlo ... que esa es otra :s
> La cosa es relativamente simple. Tengo una página php que llama mediante
> shell_exec a un .sh de mi redhat de esta forma:
> shell_exec("newSearch.sh $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8 $p9"). Y ....si
> .... 9 parametros ....rozando el limite xDD me mola el cuero. Los parametros
> del 1 al 8 me los pasa perfectamente y funcionan para el proceso interno del
> newSearch.sh (que no viene al caso ahora 0:) ) pero el noveno no lo hace.
> Este ultimo, en concreto es un string tal que este:
> http://192.168.1.92/asearch.php?querytype=any&query=pdf&site=www.urduna.com&format=sound&year_from=2006&month_from=01&day_from=01&year_to=2008&month_to=01&day_to=01&collection=sinColeccion&sortorder=relevance
> que voy construyendo (antes de llamar al shell_exec claro) y añado asi en
> mi php: $p9 = "url_larga".
> El problema es que. no se porque, una vez tengo todas mis variables en mi
> proceso .sh la ultima variable ($p9) solo contiene una parte del string que
> deberia tener (en realidad solo tien esto:
> http://192.168.1.92/asearch.php?querytype=any). Sacando
> trazas antes del shell_exec el string contiene lo que debe, pero una vez en
> bash se ¿corta?
> En fin ..... ¿bash tiene algun tipo de restriccion en cuanto a tamaño de
> string que no conozco?¿es posible que el que tenga esa restriccion sea el
> shell-exec de php?¿hay vida en otros planetas.......?
> Pues eso es todo creo :P Muchas gracias de antemano y a ver si alguno/a me
> puede sacar de mi ignorancia absoluta :S
El & si no me equivoco debe ser un caracter especial para lanzar en bg
el exec ...
pon entre comillas "" el ultimo parametro Aunque ahora que lo dices no
se como se hara en php .. que escapa a quien :S
y cuidado con los valores que pones en los $9 xk algun jili (y no
miro a nadie :P) igual pone pa buscar "algo;echo algo > /etc/passwd" o
cualquier cosa mas provechosa para un usuario no root xDD
shell_exec("newSearch.sh $p1 $p2 $p3 $p4 $p5 $p6 $p7 $p8 '$p9'")
Más información sobre la lista de distribución eside-ghost