Inserire METATAGS in un form

criccroc

Utente Attivo
7 Gen 2011
44
0
6
Ho creato un form dove inserire diversi campi, uno di questi contiene dei TAGS e questo e' un esempio:
HTML:
<img border="0" width="150" height="150" src="http://indirizzoimmagine..blablabla..">

questa e' una parte di codice del form:
HTML:
<form align="right" action="nomesito.php" method="POST" enctype="multipart/form-data">
<input type="text" size="146" name="immagine" value="[var.immagine]">

Ora, quando vado a leggere la variabile dal programma PHP con il comando:
PHP:
$immagine = mysql_real_escape_string($_POST['immagine']); 
echo $immagine;
questa non viene trasmessa.

Se invece tolgo il carattere "<" allora posso ricevere la variabile inserita nel form.
Come posso risolvere questo problema, calcolando che il codice inserito nel form NON PUO ESSERE MODIFICATO IN NESSUN MODO?

Colgo l'occasione per augurarvi a tutti quanti una BUONA PASQUA.
 
Ultima modifica:
per DISTRAZIONE ho scritto METATAGS anzichè TAGS
<img.... bla blabla> e' un TAG.
VADO A CORREGGERE :)
 
Ciao Ale, intanto ti ringrazio per avermi risposto e mi scuso per non averti risposto io in tempo ma stavo appunto lavorando sul problema con il poco di tempo che ho.

Sul mio software non funziona semplicemente perchè ci sono delle routine (in questo caso CONFIG.PHP) che FILTRANO i dati di input proprio per evitare inserimento di codici minacciosi. Questi files sono CRIPTATI e quindi non si possono modificare.
In tutti i casi sto risolvendo il problema in questo modo:
PRIMA di eseguire il comando
PHP:
include_once ('classes/config.php');
mi prendo la variabile:
PHP:
$immagine = $_POST['immagine'];
poi la scompongo per togliere il codice che mi da fastidio e la ricompongo con quello che mi serve.

Appena ho terminato la modifica ti farò sapere.
Per ora di nuovo grazie mille.
 
Allora... giusto per terminare la discussione in corso.... vado a spiegare come ho raggirato l'ostacolo.

Abbiamo capito che il file config.php contiene una routine nascosta che fa in modo di filtrare in QUALSIASI FORM del mio sito l'immissione del carattere "<" (viene visto come INIZIO TAG e quindi per PROTEZIONE annulla tutto ciò che segue).

L'idea, come avevo detto in precedenza, era di "RUBARE" la variabile $immagine PRIMA che venisse caricato INCLUDE_ONCE (in questo modo non passava per config.php) per poi utilizzarla nella mia SQL di aggiornamento, ma anche questo non funziona perchè ci sono dei caratteri in questa variabile che comunque riportano una variabile vuota (non chiedetemi quali sono ehehe).

Ecco quindi come ho risolto il problema:

PHP:
<?php

$sub = explode("http", $_POST['immagine']);

include_once ('classes/config.php');

$prima_parte = $sub[0];
$seconda_parte = $sub[1];
$immagine = STRIPSLASHES($prima_parte) . "http" . STRIPSLASHES($seconda_parte);
.....
....
....

Praticamente ho suddiviso la stringa in due parti con EXPLODE facendo riferimento a "http", poi la ho ricomposta e cosi facendo FUNZIONA TUTTO!

So che questo può sembrare STRANO (è stato strano anche per me) ma cosi funziona!

Per quanto riguarda la domanda: "Su che script stai lavorando?" non saprei cosa rispondere perchè per me uno script e' un JAVASCRIPT mentre nel mio caso è un pacchetto acquistato che utilizza TBS TEMPLATE ENGINE (che pochi a quanto pare conoscono).

Voglio comunque ringraziare le persone che mi hanno risposto e che mi hanno aiutato in qualche modo a risolvere il problema.
Ciao.
Carlo.
 

Discussioni simili