<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
>

<channel rdf:about="http://www.siforge.org/articles/forum/../../articles/2003/11/10-guida_sessioni_php.html">
<title>[SIForge.org] Guida alle sessioni in PHP </title>
<link>http://www.siforge.org/articles/forum/../../articles/2003/11/10-guida_sessioni_php.html</link>
<description>Commenti all'articolo "Guida alle sessioni in PHP "</description>
<dc:language>it</dc:language>
<dc:publisher>redazione@siforge.org</dc:publisher>
<dc:creator>redazione@siforge.org</dc:creator>
<syn:updatePeriod>hourly</syn:updatePeriod>
<syn:updateFrequency>1</syn:updateFrequency>
<syn:updateBase>1901-01-01</syn:updateBase>
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#37207265" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78699446" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#96790777" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#34360521" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#28567133" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#64104629" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#01552793" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81494167" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62659840" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78403066" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#16340254" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#17599716" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#53634581" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#41670209" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#07387188" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#97622666" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82582267" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#87681929" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88980145" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#60129417" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#06529229" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#59333863" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#18022201" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#14994151" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#19308991" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62166182" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#34509536" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#87979613" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#27033431" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#98524614" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#97410738" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89301433" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#90498611" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#69415532" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#80272249" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#77842307" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#63040337" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#20952285" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#73531190" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88397613" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#65973876" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#28949015" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#93102055" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#98555955" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#80141978" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#02606714" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#15118114" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#95044764" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#30674892" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#39537305" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#06846643" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#92829154" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#14424134" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82070390" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81846101" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#58093706" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#54743291" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#07171263" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82959753" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88946460" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26261990" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#70190732" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#60528631" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#66733754" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#04226232" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#47494202" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#44479341" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#23794293" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62496685" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#40005526" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#09021761" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62913514" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89730562" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89596077" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81929042" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26323838" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#84819129" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#77920879" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#56572535" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82542509" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#63045001" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#55519011" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#45906993" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#21903111" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89991699" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#19293308" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78508073" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#85860147" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82732534" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#61114814" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#56727493" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#50933232" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#85323519" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26835809" />
 </rdf:Seq>
</items>
<image rdf:resource="http://www.siforge.org/images/skin/default/sidebar/icon32.gif" />
<textinput rdf:resource="http://www.siforge.org/articles/search/" />
</channel>

<image rdf:about="http://www.siforge.org/images/skin/default/sidebar/icon32.gif">
<title>SIForge.org</title>
<url>http://www.siforge.org/images/skin/default/sidebar/icon32.gif</url>
<link>http://www.siforge.org/</link>
</image>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#37207265">
<title>anonimo (26 set 2009, 10:35:50)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#37207265</link>
<description>Come faccio a inserire pi&#249; di un utente?</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78699446">
<title>Francesco (21 lug 2009, 13:52:50)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78699446</link>
<description>Buongiorno Davide,

ho sperimentato il codice della tua guida sulle sessioni Php e non riesco a rendere accessibile il codice del form, rendendo minuscole le lettere dei tag e degli attributi e inserendo i doppi apici.

Sono in difficolt&#224;, hai un&#39;idea?

Complimenti

Francesco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#96790777">
<title>claudio (01 nov 2008, 17:18:24)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#96790777</link>
<description>ciao, bella guida, l&#39;unica cosa che non ho capito &#232; nella riga 8. Se il cookie non sono impostati si inserisce il valore della sessione presente in $_POST in una variabile..PHPSESSID , poi si procede a ricaricare la pagina, per inviare l&#39;id della sessione alla pagina su.php tramite $_GET.. a questo punto mi chiedo, la pagina su.php non pu&#242; da sola verificare se $_POST[SESSID]  &#232; settato? e nel caso sia settato. Se su.php &#232; la pagina stessa, dato che session_start verifica sugli array globali la presenza di PHPSESSID lo ritrova settato in $_POST.. perch&#232; rimandarlo con $_GET.. forse qualcosa mi &#232; sfuggito :)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#34360521">
<title>phk (17 apr 2008, 10:44:32)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#34360521</link>
<description>grazie, articolo molto utile.</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#28567133">
<title>Marco Lamberto (04 feb 2008, 09:38:18)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#28567133</link>
<description>Puoi mettere una variabile in sessione solo dopo un login riuscito. Nelle pagine protette controlli se esiste questo valore diversamente fai una redirect all&#39;url di login usando la funzione: header(&quot;Redirect: /login.php&quot;)
Ovviamente al posto di &quot;/login.php&quot; metti l&#39;url che ti serve. ;)
Inoltre assicurati di cancellare la variabile di sessione al logout o invalidare direttamente tutta la sessione per non rischiare &quot;strascichi&quot;.

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#64104629">
<title>Billi (02 feb 2008, 03:58:22)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#64104629</link>
<description>e, soprattutto, se non si &#232; ancora loggati, come si fa a spedire l&#39;utente alla pagina del login?
Ringrazio ancora!
Billi</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#01552793">
<title>Billi (02 feb 2008, 03:45:47)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#01552793</link>
<description>Ciao Marco,
che script devo usare su tutte le pagine a cui si accede solo dopo il login?
Grazie tante ancora per l&#39;aiuto!
Billi</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81494167">
<title>Billi (23 gen 2008, 01:30:02)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81494167</link>
<description>porcaccia, che errore... 
Ore ed ore di tempo perse per non essermi mai tanto applicato in inglese!
Effettivamente ora funziona. :)
Mille e mille grazie,
Billi
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62659840">
<title>Marco Lamberto (22 gen 2008, 19:32:41)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62659840</link>
<description>Ehm, noto solo ora che hai scritto &quot;hydden&quot; invece di &quot;hidden&quot;. :)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78403066">
<title>Billi (22 gen 2008, 13:59:05)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78403066</link>
<description>Io non ho messo gli apici perch&#232; nel testo originale non ci sono ed ho fatto un rapido copia/incolla.
Ora li ho aggiunti, ma il risultato rimane uguale:
quando apro per la prima volta il browser, sotto a &quot;Loggami&quot; viene scritto anche il valore di $PHPSESSID (in questo caso &quot;fc963cfd82bd458d8a83ab84a54fdd10&quot;).
E&#39; questo quello che trovo strano! Perch&#232; lo stampa?? E perch&#232; solo quando apro per la prima volta il browser?
Se per&#242; poi aggiorno la pagina, sparisce il valore di $PHPSESSID e tutto viene bene.
Questo &#232; il codice risultante di quando apro per la prima volta la pagina dopo aver aperto il browser:

&lt;br&gt;&lt;br&gt; &lt;form method=&quot;post&quot; action=&quot;login.php&quot;&gt; 
username: 
&lt;input type=&quot;text&quot; size=&quot;20&quot; name=&quot;posted_username&quot;&gt;&lt;br&gt; 
password: 
&lt;input type=&quot;password&quot; size=&quot;20&quot; name=&quot;posted_password&quot;&gt;&lt;br&gt; 
ricordami: &lt;input type=&quot;checkbox&quot; name=&quot;ricorda&quot; value=&quot;1&quot;&gt;&lt;br&gt;&lt;br&gt; 
&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Loggami&quot;&gt;&lt;br&gt;
&lt;input type=&quot;hydden&quot; name=&quot;PHPSESSID&quot; value=&quot;fc963cfd82bd458d8a83ab84a54fdd10&quot;&gt;&lt;/form&gt; 

poi aggiorno la pagina e diventa:

&lt;br&gt;&lt;br&gt; &lt;form method=&quot;post&quot; action=&quot;login.php&quot;&gt; 
username: 
&lt;input type=&quot;text&quot; size=&quot;20&quot; name=&quot;posted_username&quot;&gt;&lt;br&gt; 
password: 
&lt;input type=&quot;password&quot; size=&quot;20&quot; name=&quot;posted_password&quot;&gt;&lt;br&gt; 
ricordami: &lt;input type=&quot;checkbox&quot; name=&quot;ricorda&quot; value=&quot;1&quot;&gt;&lt;br&gt;&lt;br&gt; 
&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Loggami&quot;&gt;&lt;br&gt;
&lt;/form&gt; 

Saluti,
Billi</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#16340254">
<title>Marco Lamberto (21 gen 2008, 08:30:34)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#16340254</link>
<description>La sessione viene creata automaticamente, quando la distruggi ne viene resa immediatamente disponibile una nuova (vuota). Inoltre prendi l&#39;abitudine di racchiudere il valore degli attributi tra singoli o doppi apici (&#39; o &quot;) invece di lasciarli cosi`.

Saluti,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#17599716">
<title>Billi (20 gen 2008, 18:58:22)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#17599716</link>
<description>Funziona, grazie!
Un altro problema uscito &#232; che, quando apro il browser (IE7) e vado per la prima volta sulla pagina del log in, mi stampa il value del $PHPSESSID. Subito sotto al &quot;Loggami&quot;
Come mai??
Il finale del che raccolgo &#232;:

&lt;br&gt;&lt;br&gt; &lt;form method=post action=&quot;login.php&quot;&gt; 
username: 
&lt;input type=text size=20 name=posted_username&gt;&lt;br&gt; 
password: 
&lt;input type=password size=20 name=posted_password&gt;&lt;br&gt; 
ricordami: &lt;input type=checkbox name=ricorda value=1&gt;&lt;br&gt;&lt;br&gt; 
&lt;input type=submit name=submit value=&quot;Loggami&quot;&gt;&lt;br&gt;&lt;input type=hydden name=PHPSESSID value=7362e9449b47d4aac51ed32f1664e6b5&gt;&lt;/form&gt;

Questo succede sia che io abbia chiuso il browser facendo il logout o no. (col logout non dovrebbe distruggere comunque la sessione con session_destroy(); ??)
Grazie ancora!
Billi</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#53634581">
<title>Marco Lamberto (19 gen 2008, 08:56:53)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#53634581</link>
<description>Prova ad usare le funzioni di buffering (ob_start() all&#39;inizio della pagina ad esempio).

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#41670209">
<title>Billi (19 gen 2008, 01:05:05)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#41670209</link>
<description>Tutto veramente perfetto!
L&#39;unico problemuccio &#232; che dopo il logout, non mi ricarica il FORM, ma esce una pagina bianca.
All&#39;URL rimane appeso ?logout=1, come se  header(&quot;Location: $redirect&quot;); non fosse stato letto.
Come mai?
Grazie mille per la disponibilit&#224;!
Billi</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#07387188">
<title>buc (26 apr 2007, 21:45:40)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#07387188</link>
<description>Ciao m3x, rileggendo il codice dopo mesi e mesi ho notato una cosa: effettuando prima il salvataggio su cookie (r.24) e POI il controllo di esistenza del cookie per la login automatica (r.42), non &#232; che il secondo blocco viene effettuato anche quando il cookie &#232; stato appena creato?
Credo che il problema sussista effettivamente ma se nessuno l&#39;ha notato finora mi viene qualche dubbio. Comunque, io ho risolto semplcimente ponendo il primo blocco IF (r.24) dopo il secondo (r.42).
Ciao e rinnovo i complimenti per la guida!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#97622666">
<title>Massimo di Cataldo (04 gen 2007, 13:38:39)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#97622666</link>
<description>Mamma mia,
fra tutti i tutorial &#232; quello peggio fatto!

Non voglio essere negativo al massimo, vi dico la mia impressione:
troppo tecnico, dovreste andare per gradi (non marasma di codice e poi spezzarlo), e italiano da riverificare!

Ciao e complimenti comunque per il sito</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82582267">
<title>Ema (15 dic 2006, 18:32:52)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82582267</link>
<description>Ciao a tutti, la guida l&#39;ho capita abbastanza bene, solo vorrei fare che l&#39;accesso sia fatto da pi&#249; utenti ognuno con il suo login, il database SQL l&#39;ho gi&#224; creato...mi potreste spiegare com faccio a loggarmi con i dati che stanno nel database? Grazie in anticipo, ciao!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#87681929">
<title>Elvis (28 nov 2006, 20:33:47)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#87681929</link>
<description>da qualche parte ho letto di &lt;iframe&gt; e cookies nascosti, ma non mi &#232; piaciuta molto come soluzione, &#232; usata per banners ed adverts vari</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88980145">
<title>Elvis (28 nov 2006, 20:29:58)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88980145</link>
<description>Problema:
Ho un sito e-commerce nel dominio &quot;www.negozio.com&quot;
Con tutti i prodotti, il carrello etc.
Ho bisogno che l&#39;ultima fase del carrello sia nel subdominio secure.negozio.com con SSL e ip dedicato.
COME FACCIO A &quot;PASSARE&quot; la session_id ad un altro dominio?
E&#39; possibile?
Mi spiego meglio: 
la mia sessione &#232; identificata con phpsessid=1234 (in realt&#224; 32 cifre) nel dominio www.negozio.com
quando vado nell&#39;ultima pagina del carrello (dove inserire dati sensibili di privacy) nel subdominio secure.negozio.com avr&#242; phpsessid=3256 (ad esempio)
Quindi mi &#232; impossibile risalire all&#39;ordine collegato alla sessione e quindi tutto quello che mi serve, oggetti acquistati, nome per la spedizione, indirizzo etc.
In alternativa so che la sessione genera nel mio carrello un numero d&#39;ordine, come faccio a richiamare questo numero d&#39;ordine nel subdominio (in modo da ottenere gli altri dati quali nome, cognome etc.)?
Vi prego, non mandatemi sulla sezione &quot;session&quot; del sito PHP, ci ho passato la giornata...
Grazie infinite dell&#39;attenzione</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#60129417">
<title>Marco Lamberto (26 set 2006, 15:23:27)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#60129417</link>
<description>Sei sicuro che non sia un problema di cache di IE?

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#06529229">
<title>antonio (28 ago 2006, 15:12:37)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#06529229</link>
<description>Ho inserito il controllo della variabile ma malgrado questo, dalla traccia nei temporary internet file  si pu&#242; riapriri la pagina protetta.
Il mio file di logout &#232; il seguente:
&lt;?php
//logout
  session_start();

	$_SESSION=array(); //desetta tutte le variabili di sessione
	session_unset();
	session_destroy(); //distrugge la sessione

		header(&quot;location: ../login.php&quot;); //ricarica la pagina di login

?&gt;
Pu&#242; essere questo che non mi cancella dal cache la sessione?</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#59333863">
<title>Antonio (28 ago 2006, 11:44:20)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#59333863</link>
<description>Grazie Marco,
provvedo ad inserire lo script di controllo e ti far&#242; sapere come &#232; andata.
Ciao</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#18022201">
<title>Marco Lamberto (26 ago 2006, 21:23:59)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#18022201</link>
<description>Con &quot;la sessione &#232; stata cancellata da logout&quot; intendi dire che in logout hai distrutti i dati di sessione con una session_destroy ( &lt;a href='http://it2.php.net/session_destroy'>http://it2.php.net/session_destroy&lt;/a> )?
Ti suggerisco di mettere in fase di login una variabile di sessione per verificare il successo dell&#39;operazione e controllarla in ogni pagina in cui sia richiesta l&#39;autenticazione.
Al logout la session_destroy cancellera` anche questa variabile ed il malintenzionato avrebbe ben poco da fare ...

Saluti,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#14994151">
<title>Antonio (23 ago 2006, 17:38:31)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#14994151</link>
<description>Buongiorno a tutti.
St&#242; imparando ad usare php
Ho ceato un area di accesso privata usando le sessioni.
Ho notato che nei temporary internet files, rimane traccia dell&#39;url della pagina completa di phpsessionid.
Richiamando questo url, anche se la sessione &#232; stata cancellata da logout, &#232; possibile che un malintenzionato richiami la pagina e vi acceda acnhe se non conosce pswd.
E&#39; possibile evitare questo?
Grazie. Antonio</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#19308991">
<title>Marco Lamberto (26 mag 2006, 08:18:42)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#19308991</link>
<description>Puoi usare i cookies, sono impostazioni del sistema di gestione delle sessioni, dai una letta qui:
&lt;a href='http://it.php.net/manual/en/ref.session.php'>http://it.php.net/manual/en/ref.session.php&lt;/a>

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62166182">
<title>delda (25 mag 2006, 23:53:37)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62166182</link>
<description>Ciao a tutti,
gestisco un sito con identificazione personale. Utilizzo le sessioni ma vorrei evitare che il SID sia passato direttamente nell&#39;URL. Come posso modificare il codice? Grazie. </description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#34509536">
<title>ToSo (24 mag 2006, 09:15:33)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#34509536</link>
<description>ciao, sto facendo una tesina x la scuola con php, devo gestire un sito per la vendita on-line di alcuni prodotti ma nn mi funziona un problema con le sessioni x gestire il carrello dell&#39;utente... potete dirmi cosa c&#39;&#232; di sbagliato? per favore (premetto che sto imparando php mentre faccio la tesina)
LOGIN.PHP
&lt;?php

    $utente=$_POST[&#39;user&#39;];
	$pwd=$_POST[&#39;pass&#39;];
    // imposto la query
    
    // mi connetto al db, faccio la query, assegno il risultato, chiudo il db
	
	session_start();
	
    $conn = mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;&quot;) or die(&quot;Connessione non riuscita&quot;);
    mysql_select_db(&quot;elenco_prodotti&quot;, $conn) or die(&quot;Database non trovato&quot;);
		
	$query = &quot;SELECT * FROM utenti WHERE id = &#39;$utente&#39;&quot;; 
	$risultato = mysql_query($query) or die(&quot;Query non possibile&quot;);
    $riga = mysql_fetch_array($risultato);
	
	if ($pwd != $riga[&#39;password&#39;])
	{
		echo&quot;&lt;script&gt;alert(&#39;Nome utente o Password errata&#39;);&lt;/script&gt;&quot;;
		include(&quot;login.html&quot;);
		exit;
	}
	

	$_SESSION[&#39;codice_utente&#39;] = $riga[Codice];
	
	echo(&quot;benvenuto $utente&quot;);	
	include(&quot;vis_cpu.php&quot;);



mysql_close($conn);

?&gt; 


BUY.PHP (aggiunge il codice utente al carrello)

&lt;?php
//scpript register global
if (!ini_get(&#39;register_globals&#39;)) {
  $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
  if (isset($_SESSION)) {
      array_unshift($superglobals, $_SESSION);
   }
   foreach ($superglobals as $superglobal) {
      extract($superglobal, EXTR_SKIP);
   }
}
/////////////////////////////////////////
$connect=mysql_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;&quot;);
$database=mysql_select_db(&quot;elenco_prodotti&quot;,$connect);

session_start();

$sql=sprintf(&quot;INSERT INTO `carrello` (`cod_utente`)
VALUES ($_SESSION[&#39;codice_utente&#39;])&quot;);



$ris=mysql_query($sql) or die (&quot;Query non eseguita&quot;);
			   

mysql_close($connect);
?&gt;
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#87979613">
<title>Marco Lamberto (22 mag 2006, 16:13:14)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#87979613</link>
<description>Cercando con Google ho trovato questo:
&lt;a href='http://forums.oscommerce.com/index.php?showtopic=184484'>http://forums.oscommerce.com/index.php?showtopic=184484&lt;/a>

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#27033431">
<title>corrado (22 mag 2006, 16:00:41)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#27033431</link>
<description>Ho risolto, magari in modo non molto ortodosso (e grazie ad un consiglio trovato online), sostituendo

(E_ALL &amp; ~E_NOTICE);
con
(E_ALL &amp; ~E_NOTICE &amp; ~E_WARNING); 

nei due file application_top.php in \catalog\admin\include e \include

grazie comunque :)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#98524614">
<title>corrado (22 mag 2006, 14:24:45)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#98524614</link>
<description>ciao a tutti :)

premetto di essere 1 niubbo totale in php; mi sono accostato alla programmazione x dare 1 mano ad un amico che vuole mettere online un sito; dopo lunghe ricerche (che brutta l&#39;ignoranza), ho scelto di utilizzare il pacchetto oscommerce, che ho installato in locale senza troppi problemi, dal momento che funziona. messo poi su un host remoto sono iniziate le grane. Al momento gli errori che mi restituisce, con qualsiasi browser che si usa sono questi:

Warning: session_save_path() [function.session-save-path]: SAFE MODE Restriction in effect. The script whose uid is 104558 is not allowed to access owned by uid 0 in /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php on line 148

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php:148) in /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php on line 97

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php:148) in /mnt/storage/users/e/n/o/mysite/includes/functions/sessions.php on line 97

Ho letto l&#39;articolo su ob_start, ma non ci ho capito molto, mentre per il discorso sul safe mode, mi sembra che sia legato al file htaccess, ma non ho compreso bene come ovviare al problema.

Grazie a tutti dell&#39;aiuto. :)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#97410738">
<title>Marco Lamberto (26 apr 2006, 21:28:35)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#97410738</link>
<description>Bene, bravo! :D
Ricorda di isolare per bene i percorsi che generano la pagina, non affidarti ad un header per cambiare pagina, non e` detto che il browser interrompa il caricamento e operi la redirezione immediatamente! :)

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89301433">
<title>Alessio (26 apr 2006, 18:20:58)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89301433</link>
<description>tutto risolto; penso che fosse il RETURN che non andava nel primo codice che ti ho mandato.
Grazie mille. con i tuoi suggerimenti piano piano sono arrivato alla soluzione.</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#90498611">
<title>Alessio (26 apr 2006, 17:57:05)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#90498611</link>
<description>niente warning;
quello era semplicemente dovuto echo &quot;impostazione cookie&lt;br&gt;&quot;; prima di setcookie.
inoltre setcookie(&quot;alessio&quot;, &quot;prova&quot;, time()) &#232; sbagliato devo mettere time()+intervallo o nessun argomento

correggendo, il warning non c&#39;&#232; pi&#249; ma il cookie non esiste ancora; non viene creato.

sara un problema di setccokie?</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#69415532">
<title>Alessio (26 apr 2006, 17:32:38)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#69415532</link>
<description>Ho fatto un&#39;altra prova.

//file proteggi.php

&lt;?

if(isset($_COOKIE[&#39;alessio&#39;])) echo &quot;torno alla pagina&quot;;
else
{
 if(isset($_POST[&#39;user&#39;]))
 {
  if($_POST[&#39;user&#39;]==&quot;prova&quot;)
  {
   echo &quot;impostazione cookie&lt;br&gt;&quot;;
   setcookie(&quot;alessio&quot;, &quot;prova&quot;, time());
  }
 }
 else 
 {
  echo &quot;form di inserimento user&quot;;
  echo &quot;&lt;form method=&#39;POST&#39; action=&#39;home.php&#39;&gt;&quot;;
  echo &quot;&lt;input type=&#39;text&#39; name=&#39;user&#39;&gt;&quot;;
  echo &quot;&lt;input type=&#39;submit&#39; value=&#39;ENTRA&#39;&gt;&quot;;
  echo &quot;&lt;/form&gt;&quot;;
  exit();
 } 
}
?&gt;

apro con il browser home.php che ha un link a pag1.php.
sia home.php che pag1.php iniziano cos&#236;:

&lt;?
include_once(&quot;./proteggi.php&quot;);
...
...
...

si apre la form, inserisco &#39;prova&#39; e premo ENTRA.

la pagina visualizza il seguente errore:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/sito/area_clienti/prove/gestione_clienti.php:8) in /var/www/html/sito/area_clienti/prove/ancora.php on line 11

ed ovviamente se premo il link a pag1.php ritorna alla form invece di aprirla.

come faccio?</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#80272249">
<title>Alessio (26 apr 2006, 16:04:35)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#80272249</link>
<description>mettendo exit dopo header(&#39;Location...) giustamente non  
visualizza pi&#249; nemmeno la pagina iniziale. quello che dovrebbe fare (in riferimento al codice precedente) &#232; dopo l&#39;header rientrare nella pagina di protezione e verificare la condizione

&quot;if(isset ($_COOKIE[&#39;admin_reserved&#39;])) return;&quot;

ma la condizione non &#232; verificata perch&#232; il cookie non esiste.

</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#77842307">
<title>Marco Lamberto (26 apr 2006, 07:33:49)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#77842307</link>
<description>Mhh, prova a scorporare tutti i test che ripeti nei vari &quot;if&quot; in variabili booleane valutate in testa al file e poi modificate se necessario nei blocchi specifici (questo sicuramente aumenta la leggibilita`). Inoltre dopo &quot;header(&#39;Location: ...&quot; dovresti mettere un exit o comunque terminare l&#39;esecuzione dello script onde evitare che vengano valutati altri blocchi.

Attendo tue news! :D
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#63040337">
<title>Alessio (25 apr 2006, 17:51:45)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#63040337</link>
<description>//il seguente &#232; il contenuto del file di protezione incluso nelle pagine 
// da proteggere. all&#39;apertura della pagina si apre la form per 
//nick e password. dovrebbe mantenere il cookie fino al logout 
//o alla chiusura del browser. questo almeno era quello che 
//faceva con php5. 

//controllo logout
$action=$_POST[&#39;action&#39;];

if(isset($action)&amp;&amp;$action==&quot;logout&quot;)
{
 setcookie(&#39;admin_reserved&#39;, &quot;&quot;, 0);
 header(&quot;Location:&quot;.$GESTIONE_CLIENTI);
}

//controllo l&#39;esistenza del cookie.
if (isset($_COOKIE[&#39;admin_reserved&#39;])) return;

//accesso effettuato, ma nessun cookie impostato.
if(isset($_POST[&#39;account&#39;])&amp;&amp;!isset($_COOKIE[&#39;admin_reserved&#39;]))
{
 $account=$_POST[&#39;account&#39;];
 $password=$_POST[&#39;password&#39;];

 $query=&quot;select uid from log_admin where account=&#39;$account&#39; and password=&#39;$password&#39;;&quot;; 
 $result=@mysql_query($query, $db);

 if(@mysql_num_rows($result)==0)
 {
  echo &quot;&lt;p align=&#39;center&#39;&gt;account e password amministrativi errati. Prego tentare nuovamente il login...&lt;/p&gt;&lt;br&gt;&quot;;
  include ($ACCESSO_ADMIN); 
  exit();
 }
 
 $row=@mysql_fetch_array($result, MYSQL_ASSOC);
 $uid=$row[&#39;uid&#39;];

 //setto il cookie impostatando nome a &#39;admin_reserved&#39;, valore a $uid
 $nome_cookie=&#39;admin_reserved&#39;;
 @setcookie($nome_cookie, $uid);
 @mysql_close($db);
 @header(&quot;Location:&quot;.$GESTIONE_CLIENTI);
}
else

//accesso non effettuato e nessun cookie impostato.
if(!isset($_POST[&#39;account&#39;])&amp;&amp;!isset($_COOKIE[&#39;admin_reserved&#39;]))
{
 echo &quot;&lt;br&gt;&lt;p align=&#39;center&#39;&gt;Inserire il proprio &lt;b&gt;account&lt;/b&gt; e la propria &lt;b&gt;password&lt;/b&gt; per entrare nella gestione dell&#39;area clienti...&lt;/p&gt;&lt;br&gt;&quot;;

 include ($ACCESSO_ADMIN);
 exit();
}

</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#20952285">
<title>Marco Lamberto (25 apr 2006, 17:38:23)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#20952285</link>
<description>Se non e` troppo lungo, potresti incollare un pezzo &quot;incriminato&quot; o eventualmente metterlo on-line da qualche parte che provo ad indagare meglio?
Ah, giusto per ... controlla che il file /etc/httpd/logs/error_log non contenga dei warnings di php che potrebbero svelare l&#39;arcano (sia sul sistema con php 5 che 4). Eventualmente sulla macchina con php4 configura il solito php.ini in modo da fare il logging verboso e lo salvi (error_reporting = E_ALL e log_errors = On).</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#73531190">
<title>Alessio (25 apr 2006, 16:07:33)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#73531190</link>
<description>altre soluzioni. te ne sarei molto grato. </description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88397613">
<title>Alessio (25 apr 2006, 16:06:49)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88397613</link>
<description>Grazie Marco ma ho sempre usato le variabili globali $_POST, $_COOKIE, $_SESSION, etc...., ma con php5 lo script funziona e php4 no; sembra che il cookie non venga salvato</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#65973876">
<title>Marco Lamberto (25 apr 2006, 15:54:21)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#65973876</link>
<description>Ciao Alessio, controlla l&#39;impostazione di register_globals (in FC5 Off per ormai ovvie ragioni di sicurezza), controlla quindi di usare le variabili globali $_GET, $_POST, $_SESSION, $_COOKIES, ... invece di riferirti alle variabili dirette. Diversamente imposta register_globals a On (te lo sconsiglio, ma puo` essere la soluzione piu` rapida se non hai tempo).
Ti rimando al manuale per un approfondimento:
&lt;a href='http://it.php.net/register_globals'>http://it.php.net/register_globals&lt;/a>

Saluti,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#28949015">
<title>Alessio (25 apr 2006, 14:40:27)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#28949015</link>
<description>non so pi&#249; che fare.
sul mio fedora core 3 avevo php5. Uno script per la gestione di un&#39;area privata tramite cookie funzionava perfettamente. siccome in realt&#224; tale script dovrebbe funzionare con php4, o effettuato il passaggio da php5 a php4. adesso non funziona pi&#249; niente. appena effettuato login entra nella prima pagina e non salva alcun cookie, quindi all&#39;accesso alle successive pagine protette ritorna alla form di login. ho provato quindi ad usare le sessioni, ma niente da fare.
COSA POSSO FARE?
forse &#232; un problema di configurazione del php.ini.
VI PREGO AIUTATEMI.
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#93102055">
<title>chad (21 apr 2006, 13:09:48)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#93102055</link>
<description>Ok, &#200; gi&#224; online la versione 8, ma quasi mi vergogno talmente &#232; screncia, appena uppo la versione 9 sarete tra i primi a saperlo, coming soon (2-3) mesi.

Grazie ancora!!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#98555955">
<title>Marco Lamberto (21 apr 2006, 09:13:04)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#98555955</link>
<description>Prego! Facci sapere se va on-line! :D

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#80141978">
<title>chad (20 apr 2006, 17:09:20)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#80141978</link>
<description>Thx mille! nel frattempo ci ero arrivato, l&#39;ho implementato con i cookie, logout, scelta di durata dei cookie ecc... sessioni capite, almeno questo esempio si! 

grazie mille!! </description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#02606714">
<title>Marco Lamberto (20 apr 2006, 05:32:43)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#02606714</link>
<description>Ehm, no, non ti servono i cookies, appoggiati alla sessione, per verificare se un utente e` logged puoi registrare la sua username in una variabile di sessione $_SESSION[&#39;LOGIN&#39;].
Per controllare se e` autenticato fai un test isset($_SESSION[&#39;LOGIN&#39;]), se true prendi il valore come &quot;id&quot; per estrapolare i dati dal db, diversamente mostri la pagina di login. ;)

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#15118114">
<title>chad (19 apr 2006, 13:55:26)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#15118114</link>
<description>Grazie mille Marco allora forse ho capito. Controllo user e pass ( i cookie servono solo x ricordarlo quando rientra l&#39;utnete, giusto?) poi setto una variabile di sessione esempio $log = 1, se log = 1 guardi la pagina altrimenti no. Fino a qua &#232; giusto?
Ma poi per sapere nick mail ecc. di quell&#39;utente, dove prendo un $id per estrapolare i dati da database in modo sicuro? uso ancora i cookie??</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#95044764">
<title>Marco Lamberto (18 apr 2006, 16:31:08)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#95044764</link>
<description>Se usi le sessioni di PHP la persistenza tra una pagina e l&#39;altra delle informazioni e` garantita automaticamente usando tutti i mezzi disponbili (cookies inclusi).
Nella pagina di login devi solo controllare che user e password siano corretti, dopo puoi impostare una variabile di sessione che indichi l&#39;avvenuto login con successo. In ogni pagina controlli che questa variabile di sessione sia presente e valorizzata correttamente, diversamente rimandi alla pagina di login.
Per ulteriori approfondimenti ti rimando alla pagina del manuale di PHP che tratta le sessioni: &lt;a href='http://www.php.net/manual/it/ref.session.php'>http://www.php.net/manual/it/ref.session.php&lt;/a>

Saluti,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#30674892">
<title>chad (18 apr 2006, 14:13:54)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#30674892</link>
<description>Ciao, mi riferisco al commento di anna: &lt;a href="#89596077">qui&lt;/a>.
Io devo praticamente fare la stessa cosa, il file &#232; incluso ovunque nel sito ma non mi ricorda l&#39;utente, mi fa il controllo all&#39;invio del form ma non me lo ricorda, dovrei integrarci i cookie, e poter fare un log out, come posso fare?</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#39537305">
<title>Marco Lamberto (18 apr 2006, 09:43:58)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#39537305</link>
<description>A tutti gli effetti sembra un problema di configurazione, controlla in php.ini la proprieta` &quot;session.save_path&quot;.

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#06846643">
<title>anonimo (07 dic 2005, 12:50:07)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#06846643</link>
<description>HELPPPPPPPPPPPPPPPPPPPPPPPPPP
SCUSATE NON CONOSCO ASSOLUTAMENTE PHP :(
RICHIAMANDO LA MIA PAGINA IN PHP (PAGINA PROTETTA DA PASSWORD) MI DA QUESTI ERRORI DEVO METTERE LE MANI NEL CONFIG DI PHP OPPURE ? ALLEGO ERRORI
---------------------------------------------------------------------

Warning: session_start(): open(c:/Abyss Web Server/php/session\sess_daa6c98a37c82894c7f79c2896f75081, O_RDWR) failed: No such file or directory (2) in C:\Programmi\Abyss Web Server\webs\utpsw\index.php on line 3

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Programmi\Abyss Web Server\webs\utpsw\index.php:2) in C:\Programmi\Abyss Web Server\webs\utpsw\index.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Programmi\Abyss Web Server\webs\utpsw\index.php:2) in C:\Programmi\Abyss Web Server\webs\utpsw\index.php on line 3
Per accedere a questa pagina devi prima effettuare il login
Warning: Unknown(): open(c:/Abyss Web Server/php/session\sess_daa6c98a37c82894c7f79c2896f75081, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (c:/Abyss Web Server/php/session) in Unknown on line 0</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#92829154">
<title>anonimo (01 nov 2005, 07:55:44)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#92829154</link>
<description>Il &quot;problema&quot; dipende da come hai organizzato il tutto, puoi mettere l&#39;inclusione e la generazione delle pagine in un file php che faccia da template (magari con una piccola classe ad hoc) e per ognuna delle pagine reali crei un .php, includi il template e personalizzi il tutto.

In alternativa puoi usare PHP Fast Template o qualche suo clone:
&lt;a href='http://www.devshed.com/c/a/PHP/PHP-Fast-Template'>http://www.devshed.com/c/a/PHP/PHP-Fast-Template&lt;/a>

Ciao</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#14424134">
<title> virtualvev (31 ott 2005, 17:13:59)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#14424134</link>
<description>HO scritto il codice ke mi hai dato ma purtroppo cliccando sul link, le pagine si caricano ma come pagine principali! Di conseguenza le pagine sx e dx spariscono!
A me piacerebbe creare una specie d&#146;iframe.Ossia, far cambiare solo la parte centrale della pagina index! In passato ho provato a creare il sito con il comando iframe, ma il risultato &#232; stato veramente pessimo!Sembrava di avere uno sfondo dentro l&#39;altro e se provavo ad utilizzare la rotellina del mouse, le pagine, si bloccavano al passaggio del cursore sul frame!
Adesso per far funzionare il mio sito, ho dovuto creare un file index per ogni pagina centrale che ho creato, ma in questo modo si caricano ogni volta anche le pagine che non variano!
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82070390">
<title>virtualvev (31 ott 2005, 16:11:34)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82070390</link>
<description>Grazie mille, adesso provo!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81846101">
<title>Marco Lamberto (30 ott 2005, 07:52:27)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81846101</link>
<description>Se ho inteso il tuo problema correttamente, prova con:
&lt;a href=&quot;&lt;?=$_SERVER[&#39;SCRIPT_NAME&#39;] . &quot;?page=pagina1&quot;?&gt;&quot;&gt;...&lt;/a&gt;

Ciao</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#58093706">
<title>virtualvev (29 ott 2005, 15:37:56)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#58093706</link>
<description>Ciao,
ho un problema! Premetto ke sono ancora alle prime armi! 
Ho creato un file chiamato index.php! Dentro questo file ho inserito 3 pagine.php ( sx.php , cx.php , dx.php ) tramite il comando &quot;include&quot;!
Per far cambiare solo la parte centrale della pagina &quot;index.php&quot; Ho inserito Nella pagina centrale &quot;cx.php&quot; il seguente codice:
&lt;?php
switch ($_GET[&#39;page&#39;]) {
    case &#39;pagina1&#39;:
    include(&quot;http://www.virtualvev.org/game/game.php&quot;);
    break;

    case &#39;pagina2&#39;:
    include(&quot;http://www.virtualvev.org/traduttore/traduttore.php&quot;);
    break;

    case &#39;pagina3&#39;:
    include(&quot;http://www.virtualvev.org/chat/chat.php&quot;);
    break;

    default:
    include(&quot;http://www.virtualvev.org/centrali/trova.php&quot;);
    break;
}
?&gt;
La mia domanda &#232;: nei vari link a href=&quot;&quot;&gt;&lt;/a&gt; cosa bisogna scrivere per lincare le alte pagine centrali! 
Spero di essere stato abbastanza chiaro nella domanda!
ciao e grazie
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#54743291">
<title>Sergio (20 ott 2005, 12:50:32)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#54743291</link>
<description>Ciao,
ho un problema per quanto riguardano le sessioni:
quando le setto funzionano benissimo, l&#39;unica cosa &#232; che non capisco bene come funzioni il loro timeout, cio&#232; quando cadono. Ho letto varie info su sessione_cache_expire e sessione_cache_limiter ma non riesco a farlo funzionare ugualmente.
Mi potreste dire per cortesia come vengono utilizzate?
Devo inserire queste inf nello script oppure devono essere settate nel php.ini?
E se sono settate sul php.ini in un modo come faccio a fare in modo che nella mia applicazione funzionino in modo diverso?
ciao e grazie</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#07171263">
<title>anonimo_disperato (18 ott 2005, 22:01:27)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#07171263</link>
<description>grazie prover&#242;</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82959753">
<title>Marco Lamberto (17 ott 2005, 07:09:23)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82959753</link>
<description>All&#39;inizio della pagina metti una chiamata a &quot;ob_start()&quot;.

&lt;a href='http://it2.php.net/ob_start'>http://it2.php.net/ob_start&lt;/a>

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88946460">
<title>anonimo_disperato (16 ott 2005, 17:19:21)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#88946460</link>
<description>aprendo una pagina php fatta da me x testare alcune cose sulle sessioni mi escono questi avvertimenti ,
qualkuno pu&#242; aiutarmi 


Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Programmi\Apache Group\Apache2\progetto\prove\session_prova.php:7)


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programmi\Apache Group\Apache2\progetto\prove\session_prova.php:7)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26261990">
<title>Giovanni Giorgi (14 ott 2005, 16:11:11)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26261990</link>
<description>Il cookie e&#39; il meccanismo con cui si implementa la sessione.
C&#39;e&#39; un RFC apposito che spiega l&#39;uso dei Cookie.
In sostanza quando il web browser si connette e fa login, il server lo &quot;marca&quot; con un biscottino (cookie) molto piccolo che poi il browser non fa altro che rimandare al server ad ogni richiesta.
Il biscottino semplifica di molto la gestione della sessione.

Se dopo k minuti il browser non ci invia piu&#39; il biscottino, il server &quot;elimina&quot; i dati delle sessioni che sono scadute, perche&#39; suppone che abbiamo smesso di navigare sul nostro sito.</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#70190732">
<title>Max (14 ott 2005, 10:34:35)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#70190732</link>
<description>Ho letto l&#39;articolo &#232; mi &#232; stato molto utile per capire le sessioni...Vorrei se &#232; possibile charire con voi alcuni dubbi:
1. 
Perch&#232; le sessioni usano un cookie, a che serve visto che in mancanza di esso la sessione non risulta chiusa?

2.
Si pu&#242; utilizzare questo cookie per indirizzarlo ad una specifica sessione attraverso l&#39;idsessione senza dover crearne un altro  per il &#39;RICORDAMI&#39;?

Grazie.
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#60528631">
<title>Marco Lamberto (12 ott 2005, 19:26:37)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#60528631</link>
<description>@Andrea: memorizzare un riferimento ad un oggetto in una sessione ne mantiene il contenuto, vedilo come una variabile un pochino piu` complessa.
@Toni: cosa intendi con pagine protette? https? Le sessioni funzionano comunque, il vantaggio e` che il dato sensibile non viaggia avanti e indietro fra browser e server ma rimane &quot;in pancia&quot; a quest&#39;ultimo.

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#66733754">
<title>Toni (12 ott 2005, 15:06:59)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#66733754</link>
<description>Ottima guida, la cosa che non riesco a capire bene &#232; come i dati possano essere usati nelle pagine protette!!!!
Come vengono passate le varie:
$_SESSION[&#39;user&#39;] = &#39;$login_user&#39;;
	$_SESSION[&#39;pass&#39;] = &#39;$pass_user&#39;; 
  $_SESSION[&#39;id&#39;] = &#39;$PHPSESSID&#39;;

Ho lasciato l&#39;email nel caso qualcuno sarebbe disposto a spiegarmi......

</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#04226232">
<title>Andrea (10 ott 2005, 20:06:37)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#04226232</link>
<description>Le sessioni con gli oggetti funzionano come le variabili di sessione??????</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#47494202">
<title>Diego (12 set 2005, 12:11:17)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#47494202</link>
<description>Io devo adattare lo script in modo tale da poter gestire pi&#249; utenti mediante l&#39;aiuto di un database...mi  chiedevo se fosse possibile...comunque l&#39;art. &#232; spiegato splendidamente!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#44479341">
<title>Marco Lamberto (20 ago 2005, 16:29:13)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#44479341</link>
<description>Bravo! :)
Confermo quello che hai scritto, magari la prossima volta che capiti qui lascia anche i riferimenti ai siti cosi` che magari anche altri possano documentarsi in maniera piu` dettagliata.

Una nota sulla cancellazione del cookie, ovviamente il sorgente e` un esempio e come tale va preso &quot;con le pinze&quot;. In un ambito reale ovviamente le cose si fanno un po&#39; piu` complesse ed articolate, tipicamente questo genere di informazioni (token di login e preferenze) vengono registrate su cookies differenti o comunque l&#39;operazione di logout manipola il cookie in modo da cancellare il token di login.

Saluti,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#23794293">
<title>mauro(continuo il monologo) (19 ago 2005, 16:53:08)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#23794293</link>
<description>nel caso qualcuno sia interessato rispondo alla mia seconda domanda.. :P
Effettivamente..&#232; tutto in chiaro..quindi trasformare la password dopo il post non serve a niente se qualcuno fa sniffing (guarda quello che passa tra il client e il server).
Infatti se qualcuno si mette tra il browser del client e il server appena dopo che l&#39;utente del computer client ha inserto la password e l&#39;userId,egli vede entrambi i valori inseriti in chiaro..e quindi addio sicurezza!
Ci sono alcuni siti a che spiegano come ovviare al probl...
Ciao!!!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62496685">
<title>mauro(lo stesso di prima) (14 ago 2005, 16:16:58)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62496685</link>
<description>Ho letto con attenzione il tuo codice..
non capisco 2 cose:
-&#39;ricorda&#39; &#232; usato per impostare un cookie che permetta il riconoscimento automatico (fino ad un anno dalla prima volta che si effettua il login ).
non riesco a capire perch&#232;,se una persona effettua il logout,si debba cancellare il cookie e quindi l&#39;opzione di login automatico che lui stesso ha scelto..
-creando la pagina di login con dei form il client invia al server password e userId in questo modo..circa:

POST //path alla pagina.php// HTTP/1.0
Host: //sito//
Content-Type: application/x-www-form-urlencoded
Content-Length: //lunghezza//

password-posted=//quel che &#232;//&amp;posted_username=//quel che &#232;//

questo non &#232; visibile da un computer che si interponga tra client e server..rendendo uid e pwd in chiaro?
Se nn &#232; cos&#236; mi daresti una breve spiegazione..
Se &#232; cos&#236; nn esiste un altro modo?

CiaoCiao!!
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#40005526">
<title>mauro (12 ago 2005, 23:01:44)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#40005526</link>
<description>Ciao ragazzi..bella spiegazione..complimenti.
Un consiglio...dato che, mentre vi scrivo, sto cercando di usare le sessioni tenendone memoria con un database SQL, perch&#232; non aggiungete una spiegazione a riguardo?  :DD 
Ciao!!!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#09021761">
<title>Vincent (04 lug 2005, 14:14:07)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#09021761</link>
<description>vorrei sapere come fare per aggiungere pi&#249; autenti allo script di login mostrato da Davide, se qualcuno mi aiutasse ne sarei davvero felice :)

GRAZIE!</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62913514">
<title>Marco Lamberto (24 giu 2005, 20:39:34)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#62913514</link>
<description>Devi usare le funzioni di output buffering per impedire che l&#39;header http venga mandato prima della session_start.
Guarda la funzione ob_start e leggi il resto qui:
&lt;a href='http://it2.php.net/manual/en/ref.outcontrol.php'>http://it2.php.net/manual/en/ref.outcontrol.php&lt;/a>

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89730562">
<title>pasquale (23 giu 2005, 13:05:49)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89730562</link>
<description>Ho dichiarato  session_start() (linea 97) subito dopo &lt;?php 
session_start()
...
...
QUANDO VADO AD ESEGUIRE MI COMPAIONO QUESTE DUR WARNING:
Warning: Cannot send session cookie - headers already sent by (output started at c:\apache\htdocs\ium\admin\elenco_cli.php:8) in c:\apache\htdocs\ium\admin\elenco_cli.php on line 97

Warning: Cannot send session cache limiter - headers already sent (output started at c:\apache\htdocs\ium\admin\elenco_cli.php:8) in c:\apache\htdocs\ium\admin\elenco_cli.php on line 97
VOLEVO SAPERE PERCHE E QUALI SETTAGGI SE SONO NECESSARI DEVO ESEGUIRE.Utilizzo phpthriad,che a sua volta utilizza apache 1.3 e php 4.1.1
grazie per la cortese attenzione.</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89596077">
<title>Anna (17 mag 2005, 17:41:31)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89596077</link>
<description>ciao domandina...ho fatto un forum in php ed ho inserito le sessioni per il login dell&#39;utente.
Il codice del login &#232; il seguente:
&lt;?PHP
	//Avvio la sessione
	session_start();
	//Assegno i valori dei campi di testo alle varibili di sessione
	$_SESSION[&#39;utente&#39;] = $txt_nickName;
	$_SESSION[&#39;password&#39;] = $txt_password;
	//imposto autorizza a 0
	$_SESSION[&#39;autorizza&#39;] = 0;
	// controllo se i campi sono vuoti
	if($txt_nickName == &quot;&quot;|| $txt_password == &quot;&quot;){
		header(&quot;Location: loginFallito.htm&quot;);
	}
	//mi connetto alla banca dati
	$conn = mysql_connect(&quot;Cpt-a424-ssm&quot;,&quot;root&quot;,&quot;samt2004&quot;);
	
	//controllo che la connessione funzioni
	if(!$conn){
		echo(&quot;problemi nella connessione&quot;);
		exit;
	}
	//seleziono il data base
	mysql_select_db(&quot;db_forum&quot;);
	//seleziono i dati dalla tabella utente dove nick name e password corrispondano ai dati inseriti nel campo
	$sql = &quot;select * from t_utente where t_nickname = &#39;$txt_nickName&#39; and t_password = &#39;$txt_password&#39;&quot;;
	$risultato = mysql_query($sql);
	
	//controllo se la query funziona correttamente
	if(!$risultato){
		echo(&quot;Errore nella query di selezione&quot;);
		exit();
	}
	//controllo di aver trovato dei dati
	$esiste = mysql_num_rows($risultato);
	//se ci sono i dati
	if($esiste){
		//imposto autorizza = 1
		$_SESSION[&#39;autorizza&#39;] = 1;
		//apro la pagina principale
		header(&quot;Location: index.php&quot;);	
	}
	//se no il login &#232; fallito
	else{
		header(&quot;Location: loginFallito.htm&quot;);
	}
	//chiudo la connessione con la banca dati
	mysql_close($conn);
?&gt;

poi per controllare se l&#39;utente ha fatto il login uso questo codice:

&lt;?php
	//avvio la sessione
	session_start();
	//controllo che l&#39;utente abbia il diritto di accedere alla pagina
	if(!isset($_SESSION[&#39;autorizza&#39;])){
		$_SESSION[&#39;autorizza&#39;]=0;
	}

	if($_SESSION[&#39;autorizza&#39;]!=1)
	{
		echo(&quot;&lt;td&gt;&lt;font color=&#39;#FF0000&#39; size = &#39;4&#39;&gt;&lt;a href = RegistraUtente.htm&gt;Per poter inserire un messaggio devi registrarti!!!&lt;/a&gt;&lt;/td&gt;&quot;);
		echo(&quot;&lt;br&gt;&quot;);
		echo(&quot;&lt;br&gt;&quot;);
		echo(&quot;&lt;td&gt;&lt;font color=&#39;#FF0000&#39; size = &#39;4&#39;&gt;&lt;a href = index.php&gt;HOME&lt;/a&gt;&lt;/td&gt;&quot;);
		echo(&quot;&lt;br&gt;&quot;);
		echo(&quot;&lt;br&gt;&quot;);
		echo(&quot;&lt;td&gt;&lt;font color=&#39;#FF0000&#39; size = &#39;4&#39;&gt;&lt;a href = login.htm&gt;LOGIN&lt;/a&gt;&lt;/td&gt;&quot;);
		exit;
	}
?&gt;

volevo chiedere &#232; necessario inserire sessione destroy nella prima parte di codice??? non ho capito come utilizzare quella variabile...visto che nel forum faranno il login pi&#249; utenti per volta (immagino) devo usare session destroy?? o come devo impostare la pagina??? grazie mille Anna</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81929042">
<title>Marco Lamberto (15 apr 2005, 19:13:30)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#81929042</link>
<description>No, non penso inoltre che cambiare le impostazioni del browser in maniera coercitiva possa considerarsi una soluzione.
Ti suggerisco vivamente l&#39;uso di uno script javascript che faccia il reset del form al caricamento della pagina. ;)

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26323838">
<title>mino (15 apr 2005, 09:31:50)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26323838</link>
<description>Grazie mille...avevi ragione. Il browser d&#224; la possibilit&#224; di impostare la memorizzazzione dei dati inseriti nei form. Annullando tale impostazione il mio script funziona. C&#39;&#232; la possibilit&#224; di fare in modo che PHP sia pi&#249; forte dell&#39;impostazione dell&#39;utente... cio&#232; potrei mediante uno script intervenire sulle impostazioni di un browser remoto?
Ciao
Mino</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#84819129">
<title>Marco Lamberto (14 apr 2005, 20:25:07)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#84819129</link>
<description>Cosi` su due piedi direi che il problema e` sul browser, nel senso che gli automatismi del browser riempiono automaticamente i campi del form, per ovviare a questo potresti appoggiarti a del codice javascript che provveda a fare un reset del form.
Ti suggerisco anche di dare uno sguardo al pattern &quot;redirect after post&quot; presentato in questo articolo di The Server Side:
&lt;a href='http://www.theserverside.com/articles/article.tss?l=RedirectAfterPost'>http://www.theserverside.com/articles/article.tss?l=RedirectAfterPost&lt;/a>

Saluti,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#77920879">
<title>mino (14 apr 2005, 17:32:49)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#77920879</link>
<description>Ciao a tutti. E&#39; da due giorni che le sessioni non mi danno pace. Vi spiego le mie intenzioni:voglio evitare che un utente tornando indietro col tasto del browser si ritrovasse le informazioni appena inserite nel form. Nella pagina contenente il form ho scritto questo codice:
session_start();
session_unset();
session_destroy();
session_start();
Se i miei calcoli sono giusti, cos&#236; facendo la sessione precedente viene distrutta&quot; e ne viene attivata un&#39;altra. Questo per&#242; non avviene visto che riappare il form con i dati inseriti precedentemente. Ho provato anche a inserire come prima riga: header(&quot;cache-control:must-revalidate&quot;), ma senza ottenere risultati. Concludo dicendo che non mi viene segnalato nessun errore e nessun warning.
Qualcuno saprebbe aiutarmi??
Ciao e grazie
Mino</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#56572535">
<title>Marco Lamberto (09 mar 2005, 21:16:04)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#56572535</link>
<description>Va bene, se vuoi puoi fare un mini articolo (pochi paragrafi) in cui affronti brevemente idee e problemi sorti nella progettazione e sviluppo e lo pubblichiamo. ;)

Nel caso manda pure una mail all&#39;indirizzo di redazione indicato in questa pagina:
&lt;a href='http://www.siforge.org/contacts/articles.html'>http://www.siforge.org/contacts/articles.html&lt;/a>

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82542509">
<title>Mikispag (09 mar 2005, 17:32:43)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82542509</link>
<description>S&#236;, &#232; vero, colpa della fretta...

Ti ringrazio molto per avermi risposto. Tra parentesi, ho implementato il login tramite MySQL usando come base il codice della guida. Se vuoi posso postarlo.

Grazie,
Mikispag</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#63045001">
<title>Marco Lamberto (08 mar 2005, 20:07:33)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#63045001</link>
<description>Si, pero` devi spostare una parentesi! :D
Da:
  md5($login_user).&quot;%%&quot;.$pass_user
a:
  md5($login_user.&quot;%%&quot;.$pass_user)

Probabilmente t&#39;e` scappata. ;)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#55519011">
<title>Mikispag (08 mar 2005, 16:10:26)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#55519011</link>
<description>Grazie mille per aver risposto.
Quindi in teoria cambiando cos&#236; il file check_login.php il problema dovrebbe essere risolto:

&lt;?php

$login_user=&quot;mikispag&quot;;

$pass_user=&quot;d1a2b86ea64a3a24bcef922664c73857&quot;;

if (!$_COOKIE[&#39;sav_user&#39;] == md5($login_user).&quot;%%&quot;.$pass_user)

{die (&quot;&lt;!DOCTYPE HTML PUBLIC \&quot;-//IETF//DTD HTML 2.0//EN\&quot;&gt;
    &lt;HTML&gt;&lt;HEAD&gt;
    &lt;TITLE&gt;404 Not Found&lt;/TITLE&gt;
    &lt;/HEAD&gt;&lt;BODY&gt;
    &lt;H1&gt;Not Found&lt;/H1&gt;
    The requested URL was not found on this server.&lt;P&gt;
    &lt;/BODY&gt;&lt;/HTML&gt;&quot;);
}

?&gt;

Come avrai sicuramente notato, ho preferito simulare un fasullo errore 404 nel caso che l&#39;utente non sia autorizzato ad accedere alla pagina protetta invece di stampare a video &quot;Accesso non consentito&quot;.

Puoi gentilmente dirmi se ora la pagina &#232; davvero protetta?

Grazie ancora e continuate cos&#236;.</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#45906993">
<title>Marco Lamberto (07 mar 2005, 20:43:53)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#45906993</link>
<description>Si e possibile, finche` ti limiti a controllare se il cookie e` presente, corri infatti il rischio che chiunque possa bypassare il controllo senza molti sforzi (basta creare un cookie con un valore a caso).

Semplificando: in molti casi il contenuto di un cookie di autenticazione e` un valore opportunamente &quot;offuscato&quot; (magari mediante una funzione hash come md5), a lato server viene confrontato con quello generato, ad esempio, concatenando il nome utente la password. In questo modo se l&#39;attaccante non e` a conoscenza della password puo` fare ben poco anche se viene a conoscenza del valore del cookie e del nome utente.

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#21903111">
<title>Mikispag (07 mar 2005, 19:50:02)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#21903111</link>
<description>Ciao,
complimenti per la guida.
Volevo chiedere una cosa: ho necessit&#224; di creare delle pagine protette e ho pensato che se creo un file check_login.php con questo piccolo codice:

&lt;?php

if(!IsSet($_COOKIE[&#39;sav_user&#39;])) {die (&quot;&lt;!DOCTYPE HTML PUBLIC \&quot;-//IETF//DTD HTML 2.0//EN\&quot;&gt;
    &lt;HTML&gt;&lt;HEAD&gt;
    &lt;TITLE&gt;404 Not Found&lt;/TITLE&gt;
    &lt;/HEAD&gt;&lt;BODY&gt;
    &lt;H1&gt;Not Found&lt;/H1&gt;
    The requested URL was not found on this server.&lt;P&gt;
    &lt;/BODY&gt;&lt;/HTML&gt;&quot;);
}

... e in ogni pagina protetta metto all&#39;inizio un bel

&lt;?php require (&quot;check_login.php&quot;);?&gt;

... la pagina risulta protetta. Ho testato questo metodo e mi sembra che vada senza problemi (ovviamente i cookies devono essere abilitati).

Ho per&#242; una domanda: siccome il mio ipotetico controllo controlla solo il cookie, &#232; possibile che un attacker crei un cookie di nome sav_user ad arte e bypassi la protezione?
Come &#232; possibile?

Ringrazio in anticipo chi mi risponder&#224;.</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89991699">
<title>fabio (24 giu 2004, 19:42:05)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#89991699</link>
<description>grazie mille!
perfetto ho capito tutto!
ciao
fabio</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#19293308">
<title>Marco Lamberto (24 giu 2004, 09:14:53)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#19293308</link>
<description>PHPSESSID viene usata per passare il nome (identificativo alfanumerico) della sessione, passarla come parametro ad uno script e` un meccanismo per comunicarla da una pagina all'altra senza l'uso, o qualora non fossero disponibili, i cookies.
L'id e` univoco ed e` un meccanismo di php per identificare il pool di variabili di una precisa sessione. A ciascun id corrispondono quindi determinate variabili e relativi valori.

Ti consiglio la lettura della sezione relativa al session handling del manuale di PHP:
&lt;a href='http://it2.php.net/manual/it/ref.session.php'>http://it2.php.net/manual/it/ref.session.php&lt;/a>

Ciao,
Marco</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78508073">
<title>fabio (23 giu 2004, 22:11:08)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#78508073</link>
<description>ciao a tutti
bello script!!
volevo chiedervi una cosa
ho visto in molti siti che nell'url appare il PHPSESSID.
Ho sentito che serve per i cookie.
Ma come funziona? Suppongo ci sia di mezzo
la funzione session_name();
Ma non ho mai capito come funziona sto sistema del PHPSESSID.
Come posso fare una cosa per il mio sito?
grazie ciao ;)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#85860147">
<title>M3xican (01 apr 2004, 23:46:41)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#85860147</link>
<description>L'errore credo sia nella configurazione di PHP e non nella logica delle condizioni, infatti le tue aggiunte sono ridondanti visto lo scopo della verifica.</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82732534">
<title>r (01 apr 2004, 17:09:28)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#82732534</link>
<description>ciao,
ho testato lo script su php4.3.3, e mi dava errore alle righe 31 e 67, con i messaggi, rispettivamente:
Undefined index: logout ...
Undefined index: nocookie ...

probabilmente perche', aprendo la pagina la prima volta, le variabili non erano inizializzate.

sostituendo le righe con
if(IsSet($_GET['logout']) &amp;&amp; $_GET['logout']==1)
e
if(IsSet($_GET['nocookie']) &amp;&amp; $_GET['nocookie']==1)
gli allarmi rientrano..

oppure, si poteva fare un controllo all'inizio dello script, settandoli ad un valore &quot;dummy&quot; nel caso non fossero presenti nella stringa della url.

r</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#61114814">
<title>Marco Lamberto (06 feb 2004, 18:13:41)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#61114814</link>
<description>Beh, se il materiale arriva &quot;a fiumi&quot; possiamo sempre valutare l'aumento di articoli al mese pubblicati!
In ogni caso resteremo tutti in attesa del tuo prossimo pezzo! ;)</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#56727493">
<title>Davide Coppola (06 feb 2004, 17:58:40)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#56727493</link>
<description>Realizzare un login interfacciando PHP/MYSQL non &#232; una cosa difficile, ma non &#232; nemmeno tanto facile da permettere la spiegazione in un forum.

Cred&#242; sar&#224; l'argomento della mia prossima guida, anche se per vederla dovrai aspettare un p&#242; di tempo, sia per impegni personali, sia per la programmazione di siforge, che a quanto s&#242; &#232; gi&#224; piena per i prossimi mesi.

</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#50933232">
<title>anonimo (30 gen 2004, 23:13:45)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#50933232</link>
<description>mi sareste veramente di aiuto se mi poteste indicare come implementare questo codice con il login attraverso una tabella di utenti mysql. 
Grazie in anticipo</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#85323519">
<title>Davide Coppola (17 dic 2003, 20:43:06)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#85323519</link>
<description>Innanzitutto il login dovrebbe essere trasformato in modo da consentire l'accesso a pi&#249; utenti, quindi dovresti prevedere un'iterazione con una database (mysql).
Per quanto riguarda la posizione dell'utente credo che la cosa migliore da fare sia utilizzare un'apposita tabella del database che associata a uno script PHP mantenga memoria dell'ultima pagina caricata dall'utente.

Comunque se non sei in grado di modificare uno script di login dubito fortemente che tu riesca a realizzare una cosa complessa come un gioco online...
Forse e meglio se per ora compri un buon libro di PHP, uno di SQL (nel caso tu non li abbia ancora) e che ti dedichi a cosa pi&#249; semplici per iniziare, per poi ritornare in futuro sul progetto. </description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26835809">
<title>Dan (17 dic 2003, 13:23:45)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20031110__guida_sessioni_php#26835809</link>
<description>Chiedo aiuto, premetto che bene o male ho compreso il funzionamento di questo script, ma ancora non credo di essere in grado di modificarlo secondo le mie esigenze.

Io sto creando una citt&#224; fantasy, per cui mi servirebbero login, logout ed una sessione che mi indichi dove si trova l'utente, mi chiedevo se fosse possibile adattare lo script qui esposto. </description>
</item>

<textinput rdf:about="http://www.siforge.org/articles/search/">
<title>Ricerca</title>
<description>Cerca negli articoli pubblicati</description>
<name>s_query</name>
<link>http://www.siforge.org/articles/search/</link>
</textinput>

</rdf:RDF>
