0lav Skrevet 17. juni 2007 Del Skrevet 17. juni 2007 Hei! Jeg holder på med et cURL script, men jeg har et lite spørsmål ang. lagring av cookies i txt fil på serveren. 1. Hvis flere brukerer bruker scriptet på en gang, vil det da bli kluss med tanke på informasjonen som ligger i txt fila? Alltså slik at alle brukerene for informasjonen som den ene brukeren skrev inn? 2. Finnes det en annen måte å lagre det på en i en txt fil? Tenkte på sikkerheten, slik at andre folk ikke kan åpne filen for å se cookie informasjonen. Eller vil dette løse seg ved å legge txt filen utenfor public mappa? Håper jeg fikk forklart det godt nok, og på forhånd takk for svar.. Lenke til kommentar
Gjest Slettet+142 Skrevet 18. juni 2007 Del Skrevet 18. juni 2007 #1: Har ikke helt peiling på det, men vil tro at risikoen ligger der. #2: Det skal dunke å legge den utenfor public-mappen, ja Lenke til kommentar
0lav Skrevet 18. juni 2007 Forfatter Del Skrevet 18. juni 2007 (endret) Ok. Takk for svar.. Noen som har peiling på #1? EDIT: Hadde det vært mulig å lagret det i sessions elns? Endret 18. juni 2007 av 0lav Lenke til kommentar
gommle Skrevet 18. juni 2007 Del Skrevet 18. juni 2007 Hvis noen lurer på svaret: http://www.freakforum.nu/forum/showthread.php?t=87377 Lenke til kommentar
0lav Skrevet 18. juni 2007 Forfatter Del Skrevet 18. juni 2007 Har fått et bra svar over på freakforum nå, men siden scriptet jeg lager trenger cookie informasjonen den ene gangen filen blir kjørt, så lurte jeg på om cURL hadde en funksjon for å lagre informasjonen til en string/variabel isteden? Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 19. juni 2007 Del Skrevet 19. juni 2007 Har fått et bra svar over på freakforum nå, men siden scriptet jeg lager trenger cookie informasjonen den ene gangen filen blir kjørt, så lurte jeg på om cURL hadde en funksjon for å lagre informasjonen til en string/variabel isteden? 8893527[/snapback] Ikke så vidt jeg vet; men det finns håp. Jeg har jobbet med cURL mot en Java-motor, og trengte å lagre cookies fra den i PHP-sesjonen. curl_setopt($curlHandler, CURLOPT_HEADERFUNCTION, array(&$this, '_processHeader')); Før curl_exec kjører jeg denne koden: if(strlen($this->_getCookies())>0) { curl_setopt($curlHandler, CURLOPT_COOKIE, $this->_getCookies()); } _getCookies() returnerer cookies fra $_SESSION, denne sesjonsvariabelen blir satt med dette: _processHeader er en callback-funksjon, som i mitt tilfelle ser slik ut: /** * Internal header processing function that is used by cURL (CURLOPT_HEADERFUNCTION) * to fetch cookies sent from the server. The cookies are sotored in the current session * in the format cookie=value;cookie2=value2; and so on. * * Quote from PHP.net: * "The name of a callback function where the callback function takes two parameters. * The first is the cURL resource, the second is a string with the header data to be written. * Using this callback function, it becomes your responsibility to write the header data. * Return the number of bytes written." * * @param cURL handler resource $curlHandler * @param string $header * @return integer, number of bytes in header */ protected function _processHeader($curlHandler, $header) { if(!strncmp($header, "Set-Cookie:", 11)) { $cookieString = trim(substr($header, 11, -1)); $cookie = explode(';', $cookieString); $cookie = explode('=', $cookie[0]); $cookiename = trim(array_shift($cookie)); $this->cookieArray[$cookiename] = trim(implode('=', $cookie)); } $this->headers[] = $header; $returnCookieString = ""; if(strlen(trim($header))==0){ if(count($this->cookieArray)>0) { foreach ($this->cookieArray as $key=>$value) { $returnCookieString .= "$key=$value;"; } $this->_setCookies($returnCookieString); } } unset($cookie); unset($returnCookieString); return strlen($header); // <- do not trim(), this will cause a CURLE_WRITE_ERROR. } _setCookies er da en funksjon som lagrer $returnCookieString i $_SESSION. Lenke til kommentar
0lav Skrevet 19. juni 2007 Forfatter Del Skrevet 19. juni 2007 Takk! Ser ut som om det er noe slikt jeg leter etter.. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå