1 utente stanno visualizzando questa discussione: (0 membri, e 1 visitatore).
Modulo da sito
|
18-11-2009, 20:35
(Questo messaggio è stato modificato l'ultima volta il: 18-11-2009 20:37 da SbiellONE.)
![]() |
|||
|
|||
RE: Modulo da sito
Ciao Elisabetta,
Secondo me dovresti elaborare il modulo prima di qualsiasi riga di HTML e mettere un exit(); dopo l'header. In mezzo all'html lascia solo la stampa di eventuali errori. L'alternativa è l'utilizzo dell'output buffering ma mi pare macchinoso visto che basta spostare un po' di codice in cima. Spero di essere stato chiaro. |
|||
18-11-2009, 20:51
![]() |
|||
|
|||
RE: Modulo da sito
Ciao Sbiellone, grazie mille per l'aiuto.
Ho provato a lasciare solo il codice dello script, ossia quello incluso tra <?php e ?> Eliminando tutto il resto. Ho inserito exit(); poco prima di ?> Però non funziona lo stesso. Ho capito bene oppure ho fatto qualche errore ? Il mio nuovo sito hosted by w4w: elisabettaricci.it: http://www.elisabettaricci.it La mia associazione occhiettineri.it: http://www.occhiettineri.it |
|||
18-11-2009, 23:46
![]() |
|||
|
|||
RE: Modulo da sito
Ciao Elisabetta.
La pagina che hai 'screenshottato' non potrà mai funzionare. Il comando "header" che usi per fare il redirect invia degli header al server ovvero delle intestazioni e le intestazioni devono essere inviate prima di ogni altra cosa. Tu in quella pagina hai 10-15 righe di html più altro output e solo alla fine hai l'header. Non potrà mai funzionare. O riprogetti per intero la pagina, oppure usi un redirect javascript o html come quello che hai indicato. Il risultato è lo stesso. Se deve reindirizzare un browser, puoi usare tranquillamente anche il parametro refresh, il "Location" tramite header non avrebbe alcun vantaggio. Per evitare la pagina bianca potresti mettere "0" anzichè "1" come intervallo di refresh, ma non son sicuro che funzioni. Gli esperti di HTML quà dentro sono gli altri, io ti posso aiutare con PHP, ma con l'HTML non vado molto d'accordo. (come consiglio generale, metti sempre un exit() o un die() subito sotto il redirect, in quanto molti spider/robot/script non lo seguirebbero pertanto leggerebbero ugualmente il resto della pagina. In poche parole, non fare affidamento al redirect per nascondere del testo, sarebbe facilmente bypassabile, se invece ci metti un die() uccidi lo script ed è impossibile che un robot possa leggere il resto della pagina. Spero di essermi spiegato) ![]() ![]() ![]() ![]() ![]() Web4Web.IT - Low Cost Hosting Pacchetti multidominio a partire da € 10,00 |
|||
19-11-2009, 00:00
(Questo messaggio è stato modificato l'ultima volta il: 19-11-2009 00:01 da Pirosauro.)
![]() |
|||
|
|||
RE: Modulo da sito
exit() messo così alla fine non serve a nulla, come il @ davanti ai comandi del resto, che evita solo di mostrare il warning, ma non di eseguire correttamente lo script.
la soluzione, oltre alla riscrittura del codice ![]() Codice PHP: <?php ob_start(); ?> un'ultima cosa: lo script è vulnerabile alle e-mail injection, ad Alessandro non farà piacere ![]() ![]() [email protected] ha i poteri della super mucca ________ : http://it.linkedin.com/in/pirosauro - Website (offline) |
|||
19-11-2009, 00:05
(Questo messaggio è stato modificato l'ultima volta il: 19-11-2009 00:06 da Gandalf.)
![]() |
|||
|
|||
RE: Modulo da sito
Pessima idea l'output buffering in questa situazione.
Lo script è semplicemente progettato male e va rifatto, l'output buffering è come una sorta di "@" ti fa funzionare lo script, ma sarebbe il caso di ripensarlo exnovo. Come c'è finito un redirect tramite header HTTP in fondo alla pagina? Ci deve essere un errore concettuale. Se devi usare gli header HTTP, come ad esempio in una pagina di transito, allora non dovresti avere output, se invece devi avere output sarebbe meglio usare un redirect javascript. Per quanto riguarda le e-mail injection, no, non mi fa affatto piacere. Tutti sanno la nostra polita di tolleranza zero contro lo spam (distacco immediato del sito), per cui meglio prevenire che curare ![]() ![]() MAI E POI MAI PASSARE UN INDIRIZZO MAIL TRAMITE PARAMETRI (get, post, o altre cose in cui un utente possa manipolare tale indirizzo a piacere) ![]() ![]() ![]() ![]() ![]() Web4Web.IT - Low Cost Hosting Pacchetti multidominio a partire da € 10,00 |
|||
19-11-2009, 00:20
(Questo messaggio è stato modificato l'ultima volta il: 19-11-2009 00:27 da Pirosauro.)
![]() |
|||
|
|||
RE: Modulo da sito
(19-11-2009 00:05)Gandalf Ha scritto: : https://www.web4web.it/forum/post-455.html#pid455Pessima idea l'output buffering in questa situazione.appunto è un fix (brutto, ma lo è), purtroppo una pratica molto usata ![]() ![]() Facciamo così: se Elisabetta non ha fretta, potrei riscrivere il codice domani in serata, in 10 minuti dovrei cavarmela. (19-11-2009 00:05)Gandalf Ha scritto: : https://www.web4web.it/forum/post-455.html#pid455Per quanto riguarda le e-mail injection, no, non mi fa affatto piacere.allora previeni, niente mail da php ![]() (19-11-2009 00:05)Gandalf Ha scritto: : https://www.web4web.it/forum/post-455.html#pid455MAI E POI MAI PASSARE UN INDIRIZZO MAIL TRAMITE PARAMETRI (get, post, o altre cose in cui un utente possa manipolare tale indirizzo a piacere)sei paranoico ![]() ![]() [email protected] ha i poteri della super mucca ________ : http://it.linkedin.com/in/pirosauro - Website (offline) |
|||
19-11-2009, 00:24
![]() |
|||
|
|||
RE: Modulo da sito
Be si, ho dimenticato di dire: "mai usare quelle variabili se non ripulite a dovere", ma pensavo fosse sotto-inteso.
![]() ![]() ![]() ![]() ![]() Web4Web.IT - Low Cost Hosting Pacchetti multidominio a partire da € 10,00 |
|||
19-11-2009, 20:56
![]() |
|||
|
|||
RE: Modulo da sito
come promesso, ho buttato giù qualche riga di codice.
Non l'ho provato a fondo ed è possibile che qualche bug/svista sia presente. Quindi, a fronte del suo libero utilizzo, lo rilascio con la formula "as it", senza garanzie di sorta. Se avete richieste, dubbi o poposte, postatele pure... nel possibile, vedrò di accontentarvi. Infine, un link a ToyTomato.net: http://toytomato.net è gradito, ma non obbligatorio. Codice PHP: <?php Il funzionamento è analogo a quello postato da Elisabetta, ma con maggiori misure di sicurezza, atte a prevenire spam in uscita. Gli unici parametri da settare sono in testa allo script e sono le variabili $email_to e $thanks_url, di cui solo la prima obbligatoria. In $email_to, mettete il vostro indirizzo email, quello a cui volete vengano inviati tutti i messaggi. $thanks_url serve se volete che l'utente venga indirizzato ad una certa pagina, dopo l'invio (con successo) della mail. In alternativa potete passare il valore "redirect" in query. Entrambi devono essere URL complete tipo http://tuosito.tld I dati da passare sono: email: indirizzo email dell'utente (obbligatorio) name: nome utente (facoltativo) subject: oggetto del messaggio (facoltativo, se non presente verrà usata la data) redirect: pagina dove re-indirizzare l'utente una volta inviato il messaggio (facoltativo) Tutti gli altri valori verranno inseriti nel corpo del messaggio Ultima nota: funziona sia che passiate i dati in GET che in POST Credo sia tutto, buon divertimento ![]() [email protected] ha i poteri della super mucca ________ : http://it.linkedin.com/in/pirosauro - Website (offline) |
|||
19-11-2009, 21:31
![]() |
|||
|
|||
RE: Modulo da sito
Ma chi fa quei bei disegnini?
![]() ![]() ![]() ![]() ![]() Web4Web.IT - Low Cost Hosting Pacchetti multidominio a partire da € 10,00 |
|||
19-11-2009, 21:32
(Questo messaggio è stato modificato l'ultima volta il: 19-11-2009 21:32 da Pirosauro.)
![]() |
|||
|
|||
RE: Modulo da sito
quali disegnini?
edit: quelli su toytomato? Giulia! [email protected] ha i poteri della super mucca ________ : http://it.linkedin.com/in/pirosauro - Website (offline) |
|||
« Precedente | Successivo »
|
Altri utenti che stanno visualizzando questa discussione | |||||
1 utente stanno visualizzando questa discussione: (0 membri, e 1 visitatore). |
Discussioni correlate... | |||||
Discussione: | Autore | Risposte: | Letto: | Ultimo messaggio | |
Nuovo sito PHP | peppe20x | 1 | 11.254 |
18-12-2009 02:03 Ultimo messaggio: Gandalf |
Permessi di scrittura |
Non puoi inserire nuove discussioni. Non puoi inserire risposte. Non puoi inserire allegati. |
L' HTML è disattivato. Il MyCode è attivato. Le faccine sono attivato. Il codice [img] è attivato. |