phpbar.de logo

Mailinglisten-Archive

[php] Problem. Identifikation.

[php] Problem. Identifikation.

Boris P boris_(at)_gamate.com
Tue, 13 Mar 2001 15:49:43 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_0083_01C0ABD5.38886320
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Folgendes Problem:

Das folgende geschmodder basiert auf phpLittleChat
(http://www.gamate.com -- chat testen)

Ich habe ein php Script, welches in einem Frameset aufgerufen=20
wird. Dieses Script liest in einer Endlosschleife eine Textdatei
aus und printet deren Inhalt Zeilenweise.

Solange ich dieses Script =FCber den Apache aufrufe habe ich Zugriff auf =
die Session Variablen und habe somit eine eindeutige Identifizierung. =
(Alle Dateien in dem Frameset wissen zu welchem user es geh=F6rt). Somit =
kann die Ausgabe Userspezifisch geschehen.

Das Problem ergibt sich in der Performance. Wenn viele Leute =
gleichzeitig auf das Script zugreifen laufen eine Anzahl n von httpd =
prozessen, die dann irgendwann den Server ganz sch=F6n belasten. Daher =
die Idee einen Port zu =F6ffnen und die Ausgabe ohne Apache zu machen. =
Ein connect auf diesen Port f=FCr das Script direkt mit einem =
kompilierten PHP aus, sodass ich keine =DCberfl=FCssigen httpd prozesse =
mehr habe - die performance ist besser.

Wie kann ich nun eine eindeutige Information in diesem Script herstellen =
? Die sessionid sowie IP Adressen sind nicht zug=E4nglich. Ein versuch =
war es die HTTP Anfragen des Clients mit md5() zu codieren und deren =
checksumme mit den anderen Frames, die =FCber den Apache laufen zu =
vergleichen. geht nicht. Anderes ergebnis.

Zeit des Connects nach dem login benutzen um den Usernamen =
herauszufinden geht auch nicht, da die frames bei einer nicht so =
schnellen Verbinung nicht parallel abgerufen werden.

Ich muss es irgendwie hinkriegen, den User Namen in den Outputstream =
reinzubekommen ohne =FCber einen httpd prozes zu gehen. Das Script wird =
hierzu mit einem compilierten PHP4.0.4pl1 direkt gestartet.

Alle Achtung vor dem, der hierzu eine L=F6sung hat.

Hier das komplette Script zum download als .tar.gz

http://www.gamate.com/chat/phplittlechat0-4beta.tar.gz

------=_NextPart_000_0083_01C0ABD5.38886320
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Folgendes Problem:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Das folgende geschmodder basiert auf=20
phpLittleChat<BR>(<A =
href=3D"http://www.gamate.com">http://www.gamate.com</A> --=20
chat testen)</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Ich habe ein php Script, welches in =
einem Frameset=20
aufgerufen <BR>wird. Dieses Script liest in einer Endlosschleife eine=20
Textdatei<BR>aus und printet deren Inhalt Zeilenweise.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Solange ich dieses Script =FCber den =
Apache aufrufe=20
habe ich Zugriff auf die Session Variablen und habe somit eine =
eindeutige=20
Identifizierung. (Alle Dateien in dem Frameset wissen zu welchem user es =

geh=F6rt). Somit kann die Ausgabe Userspezifisch geschehen.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Das Problem ergibt sich in der =
Performance. Wenn=20
viele Leute gleichzeitig auf das Script zugreifen laufen eine Anzahl n =
von httpd=20
prozessen, die dann irgendwann den Server ganz sch=F6n belasten. Daher =
die Idee=20
einen Port zu =F6ffnen und die Ausgabe ohne Apache zu machen. Ein =
connect auf=20
diesen Port f=FCr das Script direkt mit einem kompilierten PHP aus, =
sodass ich=20
keine =DCberfl=FCssigen httpd prozesse mehr habe - die performance ist=20
besser.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Wie kann ich nun eine eindeutige =
Information in=20
diesem Script herstellen ? Die sessionid sowie IP Adressen sind nicht=20
zug=E4nglich. Ein versuch war es die HTTP Anfragen des Clients mit md5() =
zu=20
codieren und deren checksumme mit den anderen Frames, die =FCber den =
Apache laufen=20
zu vergleichen. geht nicht. Anderes ergebnis.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Zeit des Connects nach dem login =
benutzen um den=20
Usernamen herauszufinden geht auch nicht, da die frames bei einer nicht =
so=20
schnellen Verbinung nicht parallel abgerufen werden.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Ich muss es irgendwie hinkriegen, den =
User Namen in=20
den Outputstream reinzubekommen ohne =FCber einen httpd prozes zu gehen. =
Das=20
Script wird hierzu mit einem compilierten PHP4.0.4pl1 direkt=20
gestartet.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Alle Achtung vor dem, der hierzu eine =
L=F6sung=20
hat.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Hier das komplette Script zum download =
als=20
.tar.gz</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><A=20
href=3D"http://www.gamate.com/chat/phplittlechat0-4beta.tar.gz">http://ww=
w.gamate.com/chat/phplittlechat0-4beta.tar.gz</A></FONT></DIV></BODY></HT=
ML>

------=_NextPart_000_0083_01C0ABD5.38886320--



php::bar PHP Wiki   -   Listenarchive