Zwei Cookies mit demselben Namen (PHP und Javascript) – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self Zwei Cookies mit demselben Namen (PHP und Javascript) Wed, 20 Jun 18 15:50:59 Z https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725146#m1725146 https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725146#m1725146 <p>Moin,</p> <p>mit PHP setze ich z.B. das Cookie p000, wobei $bia_domain = <code>remso.eu</code>:</p> <pre><code class="block language-php"><span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token operator">!</span><span class="token keyword">isset</span><span class="token punctuation">(</span><span class="token variable">$_COOKIE</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'p000'</span><span class="token punctuation">]</span><span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token variable">$cookie_ende</span> <span class="token operator">=</span> <span class="token function">time</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span><span class="token number">90</span> <span class="token operator">*</span><span class="token number">24</span> <span class="token operator">*</span><span class="token number">60</span> <span class="token operator">*</span><span class="token number">60</span><span class="token punctuation">;</span> <span class="token comment">// 90 Tage</span> <span class="token function">setcookie</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'p000'</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'Cookies zulaessig'</span><span class="token punctuation">,</span> <span class="token variable">$cookie_ende</span><span class="token punctuation">,</span> <span class="token string single-quoted-string">'/'</span><span class="token punctuation">,</span> <span class="token variable">$bia_domain</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// für remso.de und www.remso.de</span> <span class="token punctuation">}</span> </code></pre> <p>So sieht es der Firefox:</p> <p><a href="/images/c7f77a4b-ed93-4567-bb8e-47381a69befd.jpg" rel="noopener noreferrer"><img src="/images/c7f77a4b-ed93-4567-bb8e-47381a69befd.jpg?size=medium" alt="Cookie 1" title="Cookie 1" loading="lazy"></a></p> <p>Nun rufe ich dieses Cookie mit JS auf und ändere es, wobei cname = p000 und cvalue = ??? ist:</p> <pre><code class="block language-js"> <span class="token keyword">function</span> <span class="token function">setCookie</span><span class="token punctuation">(</span> <span class="token parameter">cname<span class="token punctuation">,</span> cvalue</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> cvalue <span class="token operator">==</span> <span class="token string">"loeschen"</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> expires <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span> <span class="token keyword">var</span> d <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> d<span class="token punctuation">.</span><span class="token function">setTime</span><span class="token punctuation">(</span>d<span class="token punctuation">.</span><span class="token function">getTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token punctuation">(</span><span class="token number">90</span><span class="token operator">*</span><span class="token number">24</span><span class="token operator">*</span><span class="token number">60</span><span class="token operator">*</span><span class="token number">60</span><span class="token operator">*</span><span class="token number">1000</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// 90 Tage aufbewahren</span> <span class="token keyword">var</span> expires <span class="token operator">=</span> <span class="token string">"expires="</span><span class="token operator">+</span>d<span class="token punctuation">.</span><span class="token function">toUTCString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> document<span class="token punctuation">.</span>cookie <span class="token operator">=</span> cname <span class="token operator">+</span> <span class="token string">"="</span> <span class="token operator">+</span> cvalue <span class="token operator">+</span> <span class="token string">"; "</span> <span class="token operator">+</span> expires <span class="token operator">+</span> <span class="token string">"; path=/;"</span> <span class="token operator">+</span> <span class="token string">" domain=[HOST]; "</span><span class="token punctuation">;</span> <span class="token function">alert</span> <span class="token punctuation">(</span> <span class="token string">"setCookie( "</span><span class="token operator">+</span>cname<span class="token operator">+</span><span class="token string">", "</span><span class="token operator">+</span>cvalue<span class="token operator">+</span><span class="token string">" )"</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span> </code></pre> <p>Der FF sieht nun ein zweites Cookie p000:</p> <p><a href="/images/2b40d376-51e9-43af-adf7-3509caee93ba.jpg" rel="noopener noreferrer"><img src="/images/2b40d376-51e9-43af-adf7-3509caee93ba.jpg?size=medium" alt="Cookie p000 2" title="Cookie p000 2" loading="lazy"></a></p> <p>Wie muss mein JS-Code aussehen, damit ich dasselbe Cookie zurückschreibe?</p> <p>Gruß, Linuchs</p> Zwei Cookies mit demselben Namen (PHP und Javascript) Wed, 20 Jun 18 16:34:38 Z https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725147#m1725147 https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725147#m1725147 <p>Hello,</p> <p>nur mal interessehalber:</p> <p>Wie hast Du das Cookie mit JavaScript auf dem Client ausgelesen und was wurde Dir angezeigt?</p> <p>Und zweitens wäre es doch gar nicht so dumm, wenn Du auf dem Server sofort erkennen könntest, dass ein Änderungswunsch für die Cookiedaten vorliegt. Ich glaube auch nicht, dass ein Client das Cookie verändern können dürfen sollte (<em>g</em> mein Deutsch war auch schon mal besser).</p> <p>Liebe Grüße<br> Tom S.</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn.<br> </div> Zwei Cookies mit demselben Namen (PHP und Javascript) Thu, 21 Jun 18 07:27:52 Z https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725206#m1725206 https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725206#m1725206 <p>Hallo Linuchs,</p> <p>ich habe an dieser Stelle nicht wirklich Ahnung, habe auch nichts ausprobiert, aber mir fällt auf, dass da einmal "Domain: .remso.eu" und einmal "Host: remso.eu" steht. Fehlt Dir vielleicht einfach ein Punkt?</p> <p><em>Rolf</em></p> <div class="signature">-- <br> sumpsi - posui - clusi </div> Zwei Cookies mit demselben Namen (PHP und Javascript) Wed, 20 Jun 18 16:58:29 Z https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725148#m1725148 https://forum.selfhtml.org/self/2018/jun/20/zwei-cookies-mit-demselben-namen-php-und-javascript/1725148#m1725148 <p>Hallo Tom,</p> <blockquote> <p>Wie hast Du das Cookie mit JavaScript auf dem Client ausgelesen und was wurde Dir angezeigt?</p> </blockquote> <pre><code class="block language-js"><span class="token keyword">var</span> arr_cookies <span class="token operator">=</span> document<span class="token punctuation">.</span>cookie<span class="token punctuation">.</span><span class="token function">split</span><span class="token punctuation">(</span><span class="token string">";"</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment">// Cookies zum Startzeitpunkt der Seite:</span> </code></pre> <p>Details siehe auf der problematischen Seite.</p> <blockquote> <p>Ich glaube auch nicht, dass ein Client das Cookie verändern können dürfen sollte (<em>g</em> mein Deutsch war auch schon mal besser).</p> </blockquote> <p>Warum sollte ein Client seine eigenen Daten nicht sehen und ändern können? Warum darf ich bei meinen Geräten den Akku nicht tauschen?</p> <p>Der Anwender darf im Kalender "seinen" Verein und "seinen" Ort markieren. JS setzt je ein Cookie und PHP liefert beim nächsten Mal einige Veranstaltungstermine.</p> <p>Gruß, Linuchs</p>