Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Creare cookie in directory

    Buon pomeriggio, ho la necessità di dover creare un cookie in una directory diversa dalla cache del browser.
    Ho provato in questo modo, ma del cookie nemmeno l'ombra.
    Codice PHP:
    //questo è come lo fa sulla guida 
    //setcookie ("TestCookie", "", time() + 3600, "/~rasmus/", "example.com", 1);
    //qui è come ho fatto io
    setcookie("pagamento"1time()+3600*360"/cookie/""miosito.com/app"1); 
    Una cosa che non capisco, se è necessario prevedere questo carattere "~" prima del nome della cartella.
    Come devo fare?
    Grazie mille.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Facendo una prova con e una prova senza, se funzionano entrambe allora non è importante, se invece funziona solo una, quella che ha funzionato è il modo giusto di operare.
    Comunque penso che il carattere tilde dipenda dal server, non è una cosa richiesta dalla funzione.

  3. #3
    però a me, non funziona ne con ne senza. dove sbaglio?grazie mille

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Il cookie non viene proprio creato? La cartella cookie esiste ed è scrivibile?

    Ricorda che
    The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
    quindi i cookie settati in quella cartella saranno disponibili solo negli script presenti lì e nelle sue sottocartelle, non altrove.

  5. #5
    sto facendo prove su prove ma niente:
    Codice PHP:
    //prova 1->setcookie("pagamento", 1, time()+3600*360, "/~cookie/", "http://www.miosito.com/app", 1);
    //prova 2->setcookie("pagamento", 1, time()+3600*360, "/cookie/", "http://www.miosito.com/app", 1);
    //prova 3->setcookie("pagamento", 1, time()+3600*360, "/~cookie/", "miosito.com/app", 1);
    //prova 4->setcookie("pagamento", 1, time()+3600*360, "/~cookie/", "miosito.com", 1);
    //prova 5->setcookie("pagamento", 1, time()+3600*360, "/cookie/", "miosito.com", 1);
    //prova 6->setcookie("pagamento", 1, time()+3600*360, "/cookie/", "miosito.com/app", 1);
    //prova 7->setcookie("pagamento", 1, time()+3600*360, "/cookie/", "miosito.com/app/", 1);
    //prova 8->setcookie("pagamento", 1, time()+3600*360, "/cookie/", "http://www.miosito.com/app/", 1); 
    Insomma na marea di prove.Ma niente.
    Devo settare eventualmente qualche parametro dentro il php.ini?
    grazie ancora.

  6. #6
    i permessi della cartella che è su aruba sono questi:
    cookie->Permissions rwxr -xr -x
    Quindi?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    ho la necessità di dover creare un cookie in una directory diversa dalla cache del browser.
    ??? Tu non hai controllo sulla cartella del client dove vengono salvati i cookie

    Quel parametro che imposti vuole dire che il cookie sarà visibile solo da www.tuosito.it/cookie/ e sottocartelle...
    No

  8. #8
    Quote Originariamente inviata da tampertools Visualizza il messaggio

    ??? Tu non hai controllo sulla cartella del client dove vengono salvati i cookie

    Quel parametro che imposti vuole dire che il cookie sarà visibile solo da www.tuosito.it/cookie/ e sottocartelle...
    E per fortuna che non ce l'hai!

    PHP agisce LATO SERVER: il che significa che non può in NESSUNA maniera modificare ciò che è sul pc dell'utente, MAI. L'unica cosa che puoi fare è usare la set_cookie per inviare un cookie al browser dell'utente, ma sarà il browser a decidere cosa farne: per esempio, se l'utente sta navigando in maniera anonima, il browser potrebbe anche decidere di IGNORARE COMPLETAMENTE il cookie.

    In ogni caso, bisogna sempre ricordare che php funziona così:

    a) il browser dell'utente richiede una url che corrisponde ad uno script php, e si pone in attesa della risposta.
    b) il server web riceve questa richiesta, esegue lo script e memorizza la risposta che lo script ha fornito.
    c) una volta che lo script php ha FINITO di essere eseguito, la sua intera risposta viene inviata al browser, che, se vuole, la elabora (ma potrebbe anche decidere di ignorarla)

    E' come quendo qualcuno stampa qualcosa, PRIMA viene stampato e dopo QUANDO ORMAI NON SI PUò PIù MODIFICARE, qualcuno lo legge...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  9. #9
    Buon giorno a tutti.
    So come funziona php e come interagisce con il browser.
    So anche che non posso modificare la cartella della cache sul pc dell'utente.
    So anche che potrebbe navigare in anonimo e quindi non accettare i cookie.

    L'unica cosa che chiedevo, è perché non mi fa creare questo cookie nella cartella cookie, che non risiede nel pc dell'utente ma in quella del sito.
    Codice PHP:
    //il 5° parametro che imposti vuole dire che il cookie sarà visibile solo da www.tuosito.it/cookie/ e sottocartelle...
    setcookie("pagamento"1time()+3600*360"/cookie/""miosito.com/app"1); 
    Quindi, ribadisco la domanda, lo posso fare o no?
    Grazie mille.
    Buon weekend

  10. #10
    Quote Originariamente inviata da ANTAGONIA Visualizza il messaggio
    i permessi della cartella che è su aruba sono questi:
    cookie->Permissions rwxr -xr -x
    Quindi?
    No, perdonami la franchezza, questa tua risposta significa che non hai per nulla chiaro cosa sta avvenendo...

    La setcookie è una funzione che serve ad INVIARE AL BROWSER la richiesta di impostare un cookie.

    Un cookie è quindi un qualcosa che viene salvato LATO CLIENT, sul pc dell'utente, dal browser dell'utente.

    Poichè, per ovvie ragioni di sicurezza, il browser decide autonomamente DOVE e COME salvare questo cookie, tu non hai MAI NESSUN MODO di decidere dove verrà salvato un cookie.

    L'unica cosa che puoi fare è chiedere al browser dell'utente di salvare un cookie per conto tuo, e sperare che il browser sia così carino da restituirti il cookie stesso quando farà la prossima richiesta HTTP al tuo sito.

    Questo significa che il parametro della funzione setcookie di cui tu stai parlando NON SERVE AFFATTO AD INDICARE A PHP O ALBROWSER DOVE SALVARE IL COOKIE!

    Quel parametro, infatti, serve ad indicare al browser che il cookie che si sta impostando deve avere valore SOLO per certe URL, quelle che contengono quel path all'interno della url stessa.

    Nota che stiamo parlando di URL e NON di percorsi su disco.

    Detto in altri termini, se setto un cookie con quel parametro impostato a "/pippo", ciò significa che quando l'utente visita queste url:

    www.dominio.it/pippo/index.php
    www.dominio.it/pippo/uno.php
    www.dominio.it/pippo/due.png

    Il browser invierà anche il cookie nella richiesta HTTP, mentre se visito queste url:

    www.dominio.it/index.php
    www.dominio.it/pluto/index.php
    www.dominio.it/pluto/quattrro.jpg
    www.dominio.it/paperino/tre.php

    il browser NON invierà il cookie stesso.

    Nota nuovamente che in tutto questo non ho MAI nominato i path su disco, proprio perché quel parametro non ha ASSOLUTAMENTE NIENTE a che fare con i path su disco, se non per il fatto che poi il server web quando deve risolvere una url la fa combaciare con un path su disco, ma questo avviene ad un livello di cui il cookie non ha NESSUNA conoscenza.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.