[SAMMELTHREAD] Kleine Coding Fragen

  • da siehst du wie durch einen write &read vom socket der Onlinestatus abgefragt wird


    Ich bedanke mich sehr für deine Hilfe. Ich bin was php angeht ein absoluter neuling. Mit den von mir geposteten Code bin ich einigermaßen klar gekommen. Aber das was du mir geschickt hast überfordert mein Wissen.
    Ich weiss zwar nicht ob es relevant ist, aber ich möchte mehr als nur nen Samp Server auslesen. Da ich nen Multigaming Projekt habe und viel mehr Spiele anbiete, brauche ich nen einheitliches ding.
    Dennoch danke ich dir für deine Mühe.


    //edit
    xGreekz7x:
    Zum jetzigen zZeotpunkt wird es das bestimmt. :S

  • So

    PHP
    <form method="post" action="./sites/userdel.php" class="login">


    jo danke dir, da ich nicht extra nen neuen thread aufmachen möchte schreib ich das auch noch hier rein^^
    Greekz hast daführ ne lösung? habs so probiert über ein formular mit html, aber es kommt immer das die daten falsch sind, was mach ich da falsch`?

    $server = array(
    "tsip" => "localhost",
    "tsport" => "'$_POST[port]'",
    "ts_query_admin" => "'$_POST[qname]'",
    "ts_query_password" => "'$_POST[qpassword]'",
    "ts_query_port" => "10011",
    "ts_query_user_nick" => "SERVER"
    );

  • Jap danke dir, aber eine frage hab ich noch, ich hab das mit den varis noch nicht ganz so verstanden,
    wenn ich jetz aus dem formular das rausbekomme $_POST["port"] wie kann ichg das dann in eine vari welche ich in allen seiten benutzen kann?

    Ohne, dass die $_POST variablen erneut angegeben werden muessen? Falls ja: Sessions (http://www.php.net/manual/de/session.examples.basic.php), oder Cookies (http://www.php.net/manual/de/function.setcookie.php). Sessions senden dem Client ebenfalls cookies, aber der Vorteil von Sessions ist, dass die eigentlichen Daten auf dem Server liegen und der Client somit nicht weiss, welche Daten gespeichert sind, der Nachteil ist Sessions muss man ein wenig besser absichern, als cookies. (Sicherheit von Sessions: http://www.php.net/manual/de/session.security.php) Falls nein: $_POST variablen sind bereits global.

  • Ohne, dass die $_POST variablen erneut angegeben werden muessen? Falls ja: Sessions (http://www.php.net/manual/de/session.examples.basic.php), oder Cookies (http://www.php.net/manual/de/function.setcookie.php). Sessions senden dem Client ebenfalls cookies, aber der Vorteil von Sessions ist, dass die eigentlichen Daten auf dem Server liegen und der Client somit nicht weiss, welche Daten gespeichert sind, der Nachteil ist Sessions muss man ein wenig besser absichern, als cookies. (Sicherheit von Sessions: http://www.php.net/manual/de/session.security.php) Falls nein: $_POST variablen sind bereits global.


    Das ist nicht ganz richtig.


    Sessions werden vom Server aus verwaltet.
    Die Clienten können es nur lesen und nicht schreiben das kann nur der Server.


    Die einzige Sicherheit die man dort braucht wäre eine IP
    Also immer die IP abgleichen um Session stealing zu vermeiden.
    (IP in einer Session speichern und mit der aktuellen vergleichen)



    Cookies können jedoch vom Clienten verändert werden.


    Grüße

    ik bin der vito c:

  • Sessions werden vom Server aus verwaltet.
    Die Clienten können es nur lesen und nicht schreiben das kann nur der Server.
    ...
    Cookies können jedoch vom Clienten verändert werden.

    Der Inhalt der Sessions kann nicht vom Client gelesen werden, nur die zugewiesene ID.


    Das Cookies manipuliert werden koennen ist m.M.n. nicht unbedingt ein Sicherheitsproblem (solange man sich dessen bewusst ist).
    Denn:
    Wenn ich das Passwort und den Usernamen in den Cookies setze, und der 'Angreifer' seine Cookies manipuliert, kann er genau soviel anrichten, wie er beim Login mit der $_POST variable anrichten konnte, was bei korrekter Implementierung des Login Vorgangs keinerlei Auswirkungen auf die Sicherheit haben sollte. Der User autorisiert sich also jedes mal erneut, wenn er die Webseite aufruft, wohingegen man bei Sessions annehmen kann, dass die gespeicherten Username und Passwort korrekt sind. Zugegeben diese Methode mag umstaendlich wirken, aber ein Sicherheitsproblem ist es nicht, solange man sich bewusst ist, dass der Client jedes mal neu Autorisiert werden muss.


    scheint zu stimmen das UDP auch aufgebaut wird, wenn nichts dahinter ist.

    UDP ist ein Verbindungsloses Protokoll. TCP (ueber welches auch HTTP laeuft) sendet schon beim Verbinden Daten (http://de.wikipedia.org/wiki/T…rotocol#Verbindungsaufbau), wohingegen UDP auch nur dann Daten sendet, wenn der Programmierer Datenpackete senden moechte.
    TCP ist Vergleichbar mit einer netten Person, die einen kennt und 'Hallo' sagt, auch wenn sie nicht mit einem reden moechte.
    Waehrend UDP eher die unmotivierte Kassiererin ist, die die Konversation auf "Das macht 3,50." reduziert. ;)
    Meine Vergleiche werden zum Abend/zur Nacht hin immer abwegiger und phantasievoller. ^^

  • Kleine Frage an euch


    Ich habe in einer Tabelle eine Text Spalte
    Da werden Texte so eingetragen:

    Zitat

    Zeile 1
    Zeile 2
    Zeile 3

    Aber wenn ich den Text ausgebe steht alles nebeneinander
    Das ist mein Code:

    All in all it's just another brick in the wall

  • nochmal ne kleine Frage^^



    Der hat nen Fehler bei den isset abfragen zum erstellen
    Wenn ich nur nen benutzername eingebe, so erstellt er mir den User obwohl er mir sagen muss das das Passwort fehlt

    All in all it's just another brick in the wall

  • Danke Call
    Habe aber wieder nen Problem
    Das ist meine Funktion

    PHP
    function Clients()
    		{
    			global $tsAdmin;
    			$tsAdmin->selectServer($ts3_ID, 'serverId');
    			return $tsAdmin->clientList();
    		}


    Das gibt sie ja wieder

    PHP
    Array{ [clid] => 1 [cid] => 1 [client_database_id] => 2 [client_nickname] => Par0noid [client_type] => 0 [-uid] => [client_unique_identifier] => nUixbsq/XakrrmbqU8O30R/D8Gc= [-away] => [client_away] => 0 [-away] => [client_away_message] => [-voice] => [client_flag_talking] => 0 [-voice] => [client_input_muted] => 0 [-voice] => [client_output_muted] => 0 [-voice] => [client_input_hardware] => 0 [-voice] => [client_output_hardware] => 0 [-voice] => [client_talk_power] => 0 [-voice] => [client_is_talker] => 0 [-voice] => [client_is_priority_speaker] => 0 [-voice] => [client_is_recording] => 0 [-voice] => [client_is_channel_commander] => 0 [-times] => [client_idle_time] => 1714 [-times] => [client_created] => 1361027850 [-times] => [client_lastconnected] => 1361042955 [-groups] => [client_servergroups] => 6,7 [-groups] => [client_channel_group_id] => 8 [-groups] => [client_channel_group_inherited_channel_id] => 1 [-info] => [client_version] => 3.0.9.2 [Build: 1351504843] [-info] => [client_platform] => Windows [-icon] => [client_icon_id] => 0 [-country] => [client_country] => [-ip] => [connection_client_ip] => 127.0.0.1}


    Nun so wende ich sie an:

    PHP
    $Viewer = Clients();
    					echo 'Username: '.$Viewer["client_nickname"].'</br>';


    Das Problem ist das er mir den Namen nicht ausgibt und frage 2 wie ich alle Online User anzeigen kann


    //edit
    bei den Print_r gibt er mir das aus

    All in all it's just another brick in the wall

    Einmal editiert, zuletzt von Beavis ()

  • Habs hinbekommen

    PHP
    $Viewer = Clients($sid);
    					foreach( $Viewer["data"] as $c )
    					{
    						echo ''.$c["client_nickname"].'</br>';
    					}


    Ich musste den nur sagen das er alles aus data holen soll^^


    //edit
    zu früh gefreut :D
    Ich arbeite ja an einen Server Viewer und ja nun ist Problem 2 da
    Der verdoppelt und verdreifacht mir den Viewer

    PHP
    $Viewer = Clients($sid);					$Channels = Channel($sid);					foreach( $Viewer["data"] as $c )					{						foreach( $Channels["data"] as $a )						{							echo $a["channel_name"].'</br>';							if($c["cid"] == $a["cid"])							{								echo '<font color="#FF0000">'.$c["client_nickname"].'</font></br>';							}						}					}


    Sprich sind 3 User Online hab ich den 3mal untereinander
    //e2
    Wenn man die forech mal austauschen würde, dann würde man sehen das es geht^^


    //edit³
    Ich könnt austicken
    Bei der TS Class
    http://ts3admin.info/manual/classes/ts3admin.html
    möchte ich die client id herausfinden
    nur er gibt mir die hier nicht aus:


    Er gibt mir nur das aus:

    Zitat

    - Beavis


    aber kicken tut er den User einfach nicht
    Ich habe einiges versucht doch irgendwie will er mich nicht kicken..
    Hat einer von euch eine Idee dazu?

    All in all it's just another brick in the wall

    2 Mal editiert, zuletzt von Beavis ()