Cyts KLasse für HTTP POST/GET problem mit dem verständnis ;)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Cyts KLasse für HTTP POST/GET problem mit dem verständnis ;)

    Hallo habe ein ganz großes Problem! habe folgenden ausschnitt aus CyTS (eine klasse für teamspeak)
    mein problem ist wie kann ich das anders realisieren bzw. kann mir jemand genau erklären was diese klasse mit den ganzen informationen macht,
    denn ich verstehe es nicht ganz was es macht denn versuche diese klasse auseinander zu klamüsern aber finde keinen richtigen anhaltspunkt...

    Quellcode

    1. /**
    2. * _wipost: Sends a Request to the Webinterface using HTTP POST Method
    3. *
    4. * @access private
    5. * @author Steven Barth
    6. * @version 2.0
    7. * @return string returns the server's return data
    8. */
    9. function _wipost($sFile, $sCall=array(), $sTimeout = 3) {
    10. if (!$this->wiPort) return false;
    11. $pCall = array();
    12. foreach ($sCall as $key => $val) {
    13. $pCall[] = "$key=".urlencode($val);
    14. }
    15. $sCall = implode("&", $pCall);
    16. $fp = @fsockopen($this->server, $this->wiPort, $errno, $errstr, $sTimeout);
    17. if (!$fp) return false;
    18. fputs($fp, "POST $sFile HTTP/1.1\r\n");
    19. fputs($fp, "Host: $this->server\r\n");
    20. fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    21. if ($this->wiCookie)
    22. fputs($fp, "Cookie: ".$this->wiCookie."\r\n");
    23. fputs($fp, "Content-length: ". strlen($sCall) ."\r\n");
    24. fputs($fp, "Connection: close\r\n\r\n");
    25. fputs($fp, $sCall);
    26. $hPattern = '/([A-Za-z0-9_-]+): *(.*)\r\n/i';
    27. $header = array();
    28. do {
    29. $cRead = fgets($fp);
    30. if (preg_match($hPattern, $cRead, $content))
    31. $header["{$content[1]}"] = $content[2];
    32. elseif (trim($cRead) != "")
    33. $header[] = trim($cRead);
    34. } while($cRead != "\r\n");
    35. if (!isset($header["Content-Length"])) {
    36. $content = "";
    37. } else {
    38. $dLen = $header["Content-Length"];
    39. $content = '';
    40. while ($dLen >= 1024) {
    41. $content .= fread($fp, 1024);
    42. $dLen -= 1024;
    43. }
    44. if ($dLen > 0)
    45. $content .= fread($fp, $dLen);
    46. }
    47. fclose($fp);
    48. return array($header, $content);
    49. }
    50. /**
    51. * _wiget: Sends a Request to the Webinterface using HTTP GET Method
    52. *
    53. * @access private
    54. * @author Steven Barth
    55. * @version 2.0
    56. * @return string returns the server's return data
    57. */
    58. function _wiget($sFile, $sTimeout = 3) {
    59. if (!$this->wiPort) return false;
    60. $fp = @fsockopen($this->server, $this->wiPort, $errno, $errstr, $sTimeout);
    61. if (!$fp) return false;
    62. fputs($fp, "GET $sFile HTTP/1.1\r\n");
    63. fputs($fp, "Host: $this->server\r\n");
    64. if ($this->wiCookie)
    65. fputs($fp, "Cookie: ".$this->wiCookie."\r\n");
    66. fputs($fp, "Connection: close\r\n\r\n");
    67. $hPattern = '/([A-Za-z0-9_-]+): *(.*)\r\n/i';
    68. $header = array();
    69. do {
    70. $cRead = fgets($fp);
    71. if (preg_match($hPattern, $cRead, $content))
    72. $header["{$content[1]}"] = $content[2];
    73. elseif (trim($cRead) != "")
    74. $header[] = trim($cRead);
    75. } while($cRead != "\r\n");
    76. if (!isset($header["Content-Length"])) {
    77. $content = "";
    78. } else {
    79. $dLen = $header["Content-Length"];
    80. $content = '';
    81. while ($dLen >= 1024) {
    82. $content .= fread($fp, 1024);
    83. $dLen -= 1024;
    84. }
    85. if ($dLen > 0)
    86. $content .= fread($fp, $dLen);
    87. }
    88. fclose($fp);
    89. return array($header, $content);
    90. }
    Alles anzeigen
    Beste Grüße,
    M4rc3L-XCN
  • hmm ja die frage ist aber wie behält der im header die informationen das er noch eingeloggt ist
    denn irgendwie muss er diese informationen via post wieder übermitteln oder nicht ?
    bin mir net so sicher, aber normalerweise ist es doch so wenn ich eine verbindung beende, dass alle infos weg sind...
    Beste Grüße,
    M4rc3L-XCN

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von M4rc3L-XCN ()

  • Und genau diese Information steht im Cookie.
    Es kann einfach sein, dass das Cookie z.B. eine Session ID enthält, und die Informationen in der Session gespeichert werden.
    1. Cookie -> Session ID
    2. Session ID -> Session
    3. Session -> Information

    alles klar?
    Was du in das Cookie reinschreibst ist deine Sache. Da kann irgend etwas drin stehen...
    There's no place like 127.0.0.1