Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 24-04-11, 05:47   #1 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
Inserire METATAGS in un form

Ho creato un form dove inserire diversi campi, uno di questi contiene dei METATAGS e questo e' un esempio:
Codice HTML:
<img border="0" width="150" height="150" src="indirizzo_web_immagine">
questa e' una parte di codice del form:
Codice 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:
Codice 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.
criccroc non in linea   Rispondi citando
Vecchio 24-04-11, 12:01   #2 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,439
Invia un messaggio tramite Skype a Thedarkita
Ciao criccroc,
forse intendi un tag html, quello non mi sembra un metatag.
Se tu invi <img border="0" width="150" height="150" src="indirizzo_web_immagine"> l'echo cosa ti dà nel sorgente della pagina?

Buon Pasqua anche a te!
Thedarkita ora è in linea   Rispondi citando
Vecchio 24-04-11, 14:12   #3 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
ops.. scusa hai ragione.. TAG!!!!!! (ero assonnato ehehe)

Se inserisco i TAG nella casella di testo, la variabile risultera' vuota (praticamente vengono FILTRATI) e di conseguenza il comando ECHO mi mostrerà NULLA.
criccroc non in linea   Rispondi citando
Vecchio 24-04-11, 15:18   #4 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,439
Invia un messaggio tramite Skype a Thedarkita
Mi sembra strana questa cosa, sicura che nel sorgente non ci sia proprio nulla?
Prova a togliere enctype="multipart/form-data" dal form.
Thedarkita ora è in linea   Rispondi citando
Vecchio 24-04-11, 19:54   #5 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
Ciao, ho provato a fare come hai detto tu ma il risultato e' lo stesso.

Te la faccio piu semplice cosi mi spiego meglio:
Immagina che hai un form dove inserire dei campi ed uno di questi si chiama IMMAGINE, quindi avrai sulla tua pagina web una cosa simile a questa:
Inserisci immagine : .......................
e al posto dei puntini avrai una casella di testo.

ora, se in questa casella ci scrivi : immagine.gif va bene. Infatti da PHP scriverei:
Codice PHP:
$immagine mysql_real_escape_string($_POST['immagine']); 
echo 
"Il link dell'immagine e':" $immagine 
il risultato sara': Il link dell'immagine e': immagine.gif

se invece ci scrivi qualcosa che contiene un TAG (in questo caso <img...> NON FUNZIONA

quindi la domanda e':
Come posso inserire in una casella di testo qualcosa che contiene TAGS (<img>) e metterla in una variabile ($immagine) con il comando POST?

Se non sono stato chiaro ancora una volta mettero' il codice eheh
CIAOOO
criccroc non in linea   Rispondi citando
Vecchio 24-04-11, 19:57   #6 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,439
Invia un messaggio tramite Skype a Thedarkita
Il fatto è che io credo non sia come dici tu, cioè nel sorgente tu non hai il nulla ma hai il codice che però punta ad un immagine che non esiste altrimenti ciò non si spiegherebbe.
Se invece di:
Codice PHP:
echo "Il link dell'immagine e':" $immagine 
Metti:
Codice PHP:
echo "Il link dell'immagine e':" htmlentities($immagine) ; 
Io credo vedrai il codice. Prova cosi e vediamo che succede.
Thedarkita ora è in linea   Rispondi citando
Vecchio 24-04-11, 20:26   #7 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
SIGH SIGH A QUANTO PARE E' UNA PROTEZIONE (O QUALCHE ALTRA COSA) CHE HO SUL MIO SITO ....
Ho fatto un piccolo programma in php (prova11.php) che emula quello che devo fare io:

Codice PHP:
<?php
$immagine 
$_POST[immagine]; 
echo 
"Hai inserito:"  htmlentities($immagine);
?>
<html>

<form align="right" action="prova11.php" method="POST">
    <div align="center">
        <b>Inserisci link-immagine:</b>
        <br>
        <input type="text" size="146" name="immagine" value="">
    </div>
</form>

</html>
lo ho pubblicato sul mio server e lanciato e FUNZIONA anche se inserisco dei metatags (ho inserito ad esempio questo: <HTML>)

se invece inserisco LO STESSO CODICE sulla mia applicazione NON FUZIONA!! praticamente mi filtra in input il carattere "<" e tutto quello che segue non viene considerato )
criccroc non in linea   Rispondi citando
Vecchio 25-04-11, 10:24   #8 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
grr.... grrrr.. NO METATAGS ma... TAGS!!!!!!!!!!
Scusate
criccroc non in linea   Rispondi citando
Vecchio 25-04-11, 12:41   #9 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,439
Invia un messaggio tramite Skype a Thedarkita
A me non viene in mente nessuna possibile configurazione di php che generi questo problema, puoi postare l'output esatto di var_dump?
Codice PHP:
$immagine $_POST['immagine'];
var_dump($immagine); 
Thedarkita ora è in linea   Rispondi citando
Vecchio 26-04-11, 01:23   #10 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
se inserisco il carattere "<":
string(0) "" 

se tolgo il carattere "<":
string(119) "img border="0" width="150" height="120" src="NOMELINK etc etc">" 
criccroc non in linea   Rispondi citando
Vecchio 28-04-11, 01:09   #11 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
CONFERMATO CIO CHE PENSAVO!!!

Tornando all'intero programmino (prova11.php) che ho pubblicato un paio di messaggi fa....

.. scrivevo appunto che C'E' QUALCOSA CHE NON MI FA INSERIRE IN INPUT IL CARATTERE "<".

Infatti.. basta aggiungere all'inizio del programma la seguente riga:
Codice PHP:
include_once ('classes/config.php'); 
e... non si può più inserire il carattere "<".

Purtroppo questo programma e' criptato e quindi non posso stabilire dove sia inserito questo controllo. Inoltre sono OBBLIGATO ad utilizzare questo INCLUDE, altrimenti non funzionerebbe tutto il resto

Spero solo una risposta da chi ha creato questo programma perchè penso che non ho altre alternative.
criccroc non in linea   Rispondi citando
Vecchio 28-04-11, 16:20   #12 (permalink)
ModSenior
 
L'avatar di Thedarkita
 
Data di registrazione: Aug 2006
Ubicazione: Messina
Messaggi: 6,439
Invia un messaggio tramite Skype a Thedarkita
Sicuramente quel file fà un strip_tags su tutti i POST e GET.
Per aggirare il problema prima dell'include metterei $POST = $_POST; e utilizzerei $POST successivamente.
Thedarkita ora è in linea   Rispondi citando
Vecchio 29-04-11, 21:36   #13 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
ciao Thedarkita, intanto ti ringrazio per continuarmi a supportare
Forse ci siamo quasi...grazie ad una idea che mi hai dato. Vado a spiegarti come ho modificato il programma:

prima di include_once, praticamente alla riga subito dopo <?php, ho inserito
Codice PHP:
$immagine $_POST['immagine']; (cosi mi "rubo" immediatamente la variabile prima che venga ripulita da include_once")
echo "
Immagine=" . $immagine;  (per vedere la variabile) 
e a seguire i vari include che mi servono.

nel form di input invece ho inserito il link corretto:
Codice HTML:
<img border="0" width="150" height="120" src="indirizzo web immagine blablabla">
CON I RELATIVI TAGS DI APERTURA E CHIUSURA (<..>)!!

Nel comando ECHO ricevo nella variabile $immagine il riquadro dell'immagine BIANCA (questo indica che la variabile non e' andata perduta) con una piccola aggiunta:

Codice HTML:
ilmiosito/%5C%22indirizzoimmagine%5C%22
A mio avviso, visto che indirizzoimmagine e' CORRETTO, mi basterebbe ricreare la variabile cosi come mi serve per poi inserirla nel database.

Che ne pensi della mia idea? Mentre tu riceverai questo messaggio io vado a provare e ti farò sapere.

Per ora ti ringrazio INFINITAMENTE ehehehe
Ciao.
Carlo

Ultima modifica di criccroc : 29-04-11 21:41.
criccroc non in linea   Rispondi citando
Vecchio 03-05-11, 01:30   #14 (permalink)
User
 
Data di registrazione: Oct 2010
Messaggi: 38
Copio ed incollo la risposta che ho dato anche in altri forum alle persone che mi hanno seguito:

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:

Codice 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!

Grazie anche a te Thedarkita del tuo interessamento e delle tue risposte!
Ciao.
Carlo.
criccroc non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 15:31.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.