php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 1,00 durchschnittlich.
  #16 (permalink)  
Alt 16-07-2009, 15:34
kuddeldaddeldu
 Registrierter Benutzer
Links : Onlinestatus : kuddeldaddeldu ist offline
Registriert seit: Sep 2006
Beiträge: 437
kuddeldaddeldu ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

Zitat:
Zitat von RamonaS Beitrag anzeigen
DEFINE ist ja auf jeder seite verfügbar wenn es einmal definiert wurde...eine $_SESSION könnte man ja uU verlieren falls der user in der zwischenzeit an seinen cookies rumspielt....der inhalt/wert von DEFINE wird doch auf dem server gespeichert oder etwa auch in cookies beim client?
Wo hast Du denn diesen ausgemachten Blödsinn her (mal abgesehen davon, dass Du Konstanten meinst, define() ist eine Funktion zum Definieren ebensolcher)? Du solltest jetzt wirklich mal anfangen, das Manual zu benutzen. Lies das mal in Ruhe durch und dann überleg noch mal von vorne.
Das sind wirklich elementarste Grundlagen.

LG
Mit Zitat antworten
  #17 (permalink)  
Alt 16-07-2009, 15:57
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Ja ok, an die letzten 2 Antworten....ich habe noch nie mit DEFINE gearbeitet, hab mich bisher auf $_SESSION verlassen....die sind aber futsch wenn keine cookies akzeptiert werden.

Ok ich lese das gleich, sofort und auf der stelle durch :-)
Danke.
Mit Zitat antworten
  #18 (permalink)  
Alt 16-07-2009, 16:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
hab mich bisher auf $_SESSION verlassen....die sind aber futsch wenn keine cookies akzeptiert werden.
Nein, auch das kann man so pauschal nicht sagen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #19 (permalink)  
Alt 16-07-2009, 16:31
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Du meinst bestimmt, das man die session id an die url anhängen kann in dem fall das cookies nicht gehen:

PHP-Code:
output_add_rewrite_var(session_name(),session_id()); 
Das mache ich aber nie, weil das in die hose gehen kann und die id von jedem übernommen werden kann.

Diehnt ja zur eigenen sicherheit des besuchers, die hat er im grunde erstmal nur, wenn er cookies zuläßt (die tun ja auch nicht weh :-)
Mit Zitat antworten
  #20 (permalink)  
Alt 16-07-2009, 16:42
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
Diehnt ja zur eigenen sicherheit des besuchers, die hat er im grunde erstmal nur, wenn er cookies zuläßt (die tun ja auch nicht weh :-)
Wenn du das als Grundvoraussetzung für die Nutzbarkeit der Site im vollen Umfang definierst - dann gibt es aber auch keinen Grund zu klagen, dass Sessions ohne Cookies nicht funktionieren würden.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #21 (permalink)  
Alt 16-07-2009, 23:03
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hallo,

>Wenn du das als Grundvoraussetzung für die Nutzbarkeit der Site im vollen Umfang definierst

Versteh ich jetzt nicht. Meinst du du würdest im notfall die session_id über $_GET und in form als hidden durch den äther schicken?

Also bei der "Grundvoraussetzung" da streiten sich doch die geister!? Ich würde da ersmal die dt. Sprache und die koordinierte-Mausführung auch voraussetzen :-) ...manche webseiten lassen sich sogar über TAB steuern...falls sie nicht hunderte fehler + warnungen haben und JS als grundvoraussetzung nehmen!

Nee, also ich halt von URIs mit 2m zahlensalatt nichts, das script weißt den besucher darauf hin, wenn er es nicht will dann eben nicht....wobei mindestens 95% aller user cookies aktiviert haben, weil sie nicht wissen was das genau ist oder wo man das abschaltet...die restlichen, like me, die wissen damit umzugehen und schalten die dann eventuell ein.
Mit Zitat antworten
  #22 (permalink)  
Alt 17-07-2009, 17:46
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
>Wenn du das als Grundvoraussetzung für die Nutzbarkeit der Site im vollen Umfang definierst

Versteh ich jetzt nicht. Meinst du du würdest im notfall die session_id über $_GET und in form als hidden durch den äther schicken?
Nein, ich meine, wenn du "keine Cookies - keine Session", und damit evtl. eingeschränkte Funktionalität in Kauf nimmst. Seite in vollem Umfang also nur mit Cookies nutzbar.


Und das nächste Mal, wenn du zitierst, ohne die [quote]-Tags zu nutzen, auf die ich dich nun schon mehrfach hingewiesen habe, schliess ich den betreffenden Thread.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #23 (permalink)  
Alt 17-07-2009, 19:09
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

[QUOTE=wahsaga;621372]Nein, ich meine, wenn du "keine Cookies - keine Session", und damit evtl. eingeschränkte Funktionalität in Kauf nimmst. Seite in vollem Umfang also nur mit Cookies nutzbar.


Und das nächste Mal, wenn du zitierst, ohne die
Zitat:
-Tags zu nutzen, auf die ich dich nun schon mehrfach hingewiesen habe, schliess ich den betreffenden Thread.
Yes sir, ich habe verstanden, Sir!

Das mußt du mir nochmal erklären: Wie kann ich ohne cookies erkennen, ob der besucher der eine 2te seite aufruft, immer noch der ist von der ersten?

Ich meine natürlich ohne POST-Daten umherzuschleifen und ohne 2m lange URLs
Mit Zitat antworten
  #24 (permalink)  
Alt 17-07-2009, 19:13
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
Das mußt du mir nochmal erklären: Wie kann ich ohne cookies erkennen, ob der besucher der eine 2te seite aufruft, immer noch der ist von der ersten?

Ich meine natürlich ohne POST-Daten umherzuschleifen und ohne 2m lange URLs
Im Zweifelsfalle, wenn du keine der gängigen Möglichkeiten nutzen willst - gar nicht.

Das war doch das, was ich bereits schrieb - auf bestimmte Funktionalität ggf. bewusst verzichten, wenn der "Preis" dafür zu hoch scheint.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #25 (permalink)  
Alt 17-07-2009, 19:46
RamonaS
 Registrierter Benutzer
Links : Onlinestatus : RamonaS ist offline
Registriert seit: Mar 2009
Beiträge: 177
RamonaS zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
Im Zweifelsfalle, wenn du keine der gängigen Möglichkeiten nutzen willst - gar nicht.

Das war doch das, was ich bereits schrieb - auf bestimmte Funktionalität ggf. bewusst verzichten, wenn der "Preis" dafür zu hoch scheint.
Sagens wir mal so: Als eizige "einigermassen sichere Möglichkeit" sehe ich nur den einsatz von cookies...der rest ist alls in meinen augen "gefährlich"...je weniger der besucher ahnung davon hat.

Stell die vor der loged sich bei so einem großen onlineshop ein...klickt sich dann dort durch die seiten durch...dann findet er zB ein artikel den er kaufen willl....nun schickt er den LINK aus der adressleiste seinem freund und frägt ihn ob zB dieser laptop für 399,- dort günstig ist.

So, nun hat dieser besucher aber seine cookies aus, und sendet seinem freund den link inclusive session_id....jetzt kann sein "guter Freund" dort in den shop rein, ist natürlich sofort angemeldet (er hat ja die session_id) und kann zB 50 laptops für seinen freund bestellen....was macht nu sein freund wenn 3 tage später ein LKW 50 laptops vor der haustür abladet? :-)
Mit Zitat antworten
  #26 (permalink)  
Alt 17-07-2009, 20:25
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von RamonaS Beitrag anzeigen
Sagens wir mal so: Als eizige "einigermassen sichere Möglichkeit" sehe ich nur den einsatz von cookies...
Für das von dir beschriebene Problem sind alle Methoden "sicher", die nicht die URL als Überbringer der Session-ID benutzen, also auch POST-Parameter (per versteckten Formularfeldern).

Zitat:
... So, nun hat dieser besucher aber seine cookies aus, und sendet seinem freund den link inclusive session_id....jetzt kann sein "guter Freund" dort in den shop rein, ist natürlich sofort angemeldet (er hat ja die session_id) ...
Um solche Angriffe abzuwehren gibts verschiedene Methoden. Die wichtigste ist, bei Bestellvorgängen am Schluss der Bestellung noch einmal die Zugangsdaten zu verlangen (Amazon macht das zum Beispiel so). Die kennt der "Hijacker" nämlich nicht, und damit kann er die Bestellung nicht abschicken.

Außerdem sollte jede Session ein(en) Timeout haben.

Zusätzlich kann man einen Teil der IP-Adresse des Nutzers überprüfen oder andere "Fingerabdrücke", die sein Browser so mitschickt. Das schließt zwar nicht komplett aus, dass ein Fremder mit einer kopierten ID die Session übernehmen kann, verringert aber zumindest die Wahrscheinlichkeit dafür.

Auch das regelmäßige Erneuern der Session-ID verringert die Gefahr der Weitergabe einer gültigen ID. Das gilt übrigens auch für Sessions per Cookie, weil man auch Session-Cookies relativ einfach stibitzen kann. Allerdings weiß ich nicht, ob die entsprechende Funktion session_regenerate_id() mittlerweile ordentlich funktioniert.
Mit Zitat antworten
  #27 (permalink)  
Alt 17-07-2009, 20:30
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Allerdings weiß ich nicht, ob die entsprechende Funktion session_regenerate_id() mittlerweile ordentlich funktioniert.
Aber ich!! Sie funktioniert (und das seit dem ersten Tag).

Allerdings kann es bei ungeschickter Anwendung zu Race Conditions kommen. Aber das ist kein Problem des Regenerate selber, sondern ehr eine Eigenschaft des HTTP.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #28 (permalink)  
Alt 17-07-2009, 20:39
piratos
 Guest
piratos
Beiträge: n/a
Standard

Aber ja doch oder nicht ?

Zitat:
This function is very problematic when used in conjunction with either relatively quick browser refreshes or when you've even got another included element on the page (e.g., an image) included on the page which also regenerates the id! (The effect is that you'll lose all session data and it will look like you session data didn't get persisted).

The Zend Framework Session classes uses session_regenerate_id(), I would suggest that you comment out the line in Zend/Session.php which calls session_regenerate_id() (there is only one at the time of writing this).

I'm not aware of any option to turn it off in Zend_Session.
Mehr davon hier: PHP: session_regenerate_id - Manual

und noch mehr davon durch googlen.
Mit Zitat antworten
  #29 (permalink)  
Alt 18-07-2009, 14:15
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von combie Beitrag anzeigen
Aber ich!! Sie funktioniert (und das seit dem ersten Tag).
Dein fast religiöser Optimismus in allen Ehren, aber es gab ein PHP vor der Version 5.1.0, auch wenn das schon ein paar Jährchen her ist.

http://forum.de.selfhtml.org/archiv/...37614/#m894038

Zitat:
Allerdings kann es bei ungeschickter Anwendung zu Race Conditions kommen. Aber das ist kein Problem des Regenerate selber, sondern ehr eine Eigenschaft des HTTP.
Mehr Info?

Ich dachte eher an die Probleme mit dem Verlust der Session, wenn jemand ohne Cookies gleichzeitig mehrere Browser-Fenster (oder Tabs) der gleichen Website geöffnet hat.

Geändert von fireweasel (18-07-2009 um 14:17 Uhr)
Mit Zitat antworten
  #30 (permalink)  
Alt 18-07-2009, 15:41
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Das hat nichts mit Religion zu tun!
Einfach mal kundig machen, dann wirst du das auch einsehen!

Dass irgendwann ein Parameter hinzugefügt wurde, heißt nicht, dass es vorher nicht funktioniert hat. Es ist jetzt allerdings mit Parameter meist sinnvoller, da gebe ich dir recht.
Es wurde also kein Bug behoben, sondern nur ein optionales Feature hinzugefügt.


Zitat:
Ich dachte eher an die Probleme mit dem Verlust der Session, wenn jemand ohne Cookies gleichzeitig mehrere Browser-Fenster (oder Tabs) der gleichen Website geöffnet hat.
Ja und nein!
Mit session.use_trans_sid ist regenerate weiterhin wenig brauchbar. Daran hat sich nichts geändert und daran wird sich nichts ändern. Aber eigentlich bringt es da nur das generelle transsid Problem in den Vordergrund. Ist also auch kein Fehler des Regenerate().

Auch Mit session.use_cookies_only kann es RaceConditions geben. Und das liegt an den HTTP Eigenschaften. Da beißt keine Maus einen Faden ab. Das Problem ist auch nicht wirklich in den Griff zu bekommen.

Sessionlocking/RaceCondition Test:

In die folgenden Frames sollten die Zeiten im 2 Sekunden Takt tröpfeln. Die Hits sollten fortlaufend kommen. Dabei ist die Reihenfolge, in der die Frames gefüllt werden vom Browser/Router/Gateway/Proxy bestimmt und kann sich durchaus ändern.

Auch die unerwünschten Seiteneffekte von session_regenerate_id() lassen sich damit schön vorführen.

PHP-Code:
<?php
error_reporting
(-1);
ini_set('display_errors',TRUE);

session_start();

//session_regenerate_id(); // erzeugt Race Conditions
//session_regenerate_id(TRUE); // erzeugt Race Conditions und Fehlermeldungen

sleep(2);

if(isset(
$_GET['frame']))
{
  ++
$_SESSION['hitcounter'];
  echo 
'Zeit: '. (time() - $_SESSION['richtzeit']) .'<br>';
  echo 
'Hits: '$_SESSION['hitcounter'] .'<br>';
  exit;
}

$_SESSION['richtzeit']  = time();
$_SESSION['hitcounter'] = 0;

?>
<frameset rows="20%,20%,20%,20%,20%">
  <frame src="?frame=<?php echo mt_rand()?>" name="test1">
  <frame src="?frame=<?php echo mt_rand()?>" name="test2">
  <frame src="?frame=<?php echo mt_rand()?>" name="test3">
  <frame src="?frame=<?php echo mt_rand()?>" name="test4">
  <frame src="?frame=<?php echo mt_rand()?>" name="test5">
</frameset>
__________________
Wir werden alle sterben

Geändert von combie (18-07-2009 um 15:44 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
define + request dani_o PHP Developer Forum 21 10-01-2009 21:56
define ist leer! der_meier_hans PHP Developer Forum 1 24-05-2008 16:15
datenbank und define xJonx PHP Developer Forum 8 09-11-2006 16:16
array mit define tredert PHP Developer Forum 2 07-02-2004 20:40
funktion define TheCure13 PHP Developer Forum 8 04-06-2003 14:26

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:10 Uhr.