Rezultate 1 la 8 din 8

Subiect: Problema sesiune in wordpress

Afișare hibrid

  1. #1
    Avatarul lui Popescu Marian
    Popescu Marian este deconectat Ambasador
    Reputatie:
    48
    Data înscrierii
    18th April 2007
    Locaţie
    Bucuresti
    Vârstă
    45
    Posturi
    983
    Putere Rep
    48


    Implicit Problema sesiune in wordpress

    Salut,

    Am un site in wordpress si folosesc un fisier go.php care inregistreaza numarul de clicuri pe un link de forma /go.php?id=2&token=h7fd87, unde token este o sesiune unica ($_SESSION['token']) generata pentru a nu inregistra mai multe clicuri de la acelasi vizitator (care are aceeasi sesiune).

    Problema este ca nu functioneaza, adica in fisierul go.php nu se regaseste sesiunea $_SESSION['token']. Am pus in go.php session_start(); insa nimic...

    Ma poate ajuta cineva?

    --- Later Edit --- (ca mi-a fost lene sa apas "Edit")

    Am pus session_start() in wp-config.php, am inclus wp-config.php in go.php dar acum problema este ca sesiunile 'token' au valori diferite... Oare nu generez sesiunea unde trebuie? Am incercat sa o generez in wp-config.php, single.php si header.php dar degeaba, linkul go.php are o valoare pt token iar fisierul go.php genereaza o alta valoare pt token si nu inteleg de ce.

  2. #2
    Avatarul lui casperel
    casperel este deconectat Membru SeoPedia
    Reputatie:
    45
    Data înscrierii
    10th February 2007
    Locaţie
    Bucuresti
    Posturi
    838
    Putere Rep
    45


    Implicit

    Pune codul php sa vedem ce ar putea genera problema...

  3. #3
    Avatarul lui Popescu Marian
    Popescu Marian este deconectat Ambasador
    Reputatie:
    48
    Data înscrierii
    18th April 2007
    Locaţie
    Bucuresti
    Vârstă
    45
    Posturi
    983
    Putere Rep
    48


    Implicit

    Cod PHP:
    $viataSesiune "3600";
    ini_set(session_gc_maxlifetime$viataSesiune); 
    $uniqueToken substr(sha1(uniqid()), 08); // 8-characters long unique token, eg "2fac223a"
    $_SESSION['token'] = $uniqueToken
    Oare fisierul ala go.php face request la alte fisiere din wordpress in afara de wp-config.php? sau wp-config acceseaza single.php sau header.php, fisiere unde am pus codul asta?

  4. #4
    Avatarul lui casperel
    casperel este deconectat Membru SeoPedia
    Reputatie:
    45
    Data înscrierii
    10th February 2007
    Locaţie
    Bucuresti
    Posturi
    838
    Putere Rep
    45


    Implicit

    Sau... adauga urmatorul snippet in functions.php al temei, iar in go.php doar verifici daca cele token-uri sunt identice. Spor!

    Cod PHP:
    function genereaza_sesiune(){
      if(!
    $_SESSION['token']) $_SESSION['token'] = substr(sha1(uniqid()), 08); 
    }
    if(!
    session_id()) { 
     
    add_action('init''session_start'0); 
     
    add_action('init''genereaza_sesiune'1);


  5. #5
    Avatarul lui casperel
    casperel este deconectat Membru SeoPedia
    Reputatie:
    45
    Data înscrierii
    10th February 2007
    Locaţie
    Bucuresti
    Posturi
    838
    Putere Rep
    45


    Implicit

    Ideal ar fi.. sa o generezi 1 singura data! Tu daca o generezi in wp-config.php, cand accesezi go.php... o generezi iarasi, de aceea are alta valoare. Mai bine folosesti cookies cu timp de expirare 3600 secunde. Verifici daca exista cookie => nu contorizezi click, iar daca nu exista => contorizezi click.

    Cod PHP:
    $id_link $_GET['id'];
    setcookie('contorizare_'.$id_link$id_linktime()+3600);
    if(
    $_COOKIE['contorizare_'.$id_link]){
      return 
    'nu contorizez click';
    } else {
      return 
    'contorizez click';

    Ultima modificare făcută de casperel; 6th July 2011 la 12:24.

  6. #6
    Avatarul lui Popescu Marian
    Popescu Marian este deconectat Ambasador
    Reputatie:
    48
    Data înscrierii
    18th April 2007
    Locaţie
    Bucuresti
    Vârstă
    45
    Posturi
    983
    Putere Rep
    48


    Implicit

    O generez in header.php, am incercat si in wp-config, single.php...
    In go.php se seteaza un cookie dar inainte de asta se verifica daca SESSION['token'] este egal cu $_GET['token'] iar daca nu sunt egale se face redirect catre index.
    Problema este din alta parte pentru ca acelasi sistem il folosesc pe un site care nu este pe WP si nu am aceasta problema.

  7. #7
    Avatarul lui Popescu Marian
    Popescu Marian este deconectat Ambasador
    Reputatie:
    48
    Data înscrierii
    18th April 2007
    Locaţie
    Bucuresti
    Vârstă
    45
    Posturi
    983
    Putere Rep
    48


    Implicit

    Functioneaza!
    In cazul asta durata sesiunii este cea default de 3600 secunde?
    Pot sa ii modific durata introducand functia ini_set(session_gc_maxlifetime, $viataSesiune); in functia scrisa de tine?

  8. #8
    Avatarul lui casperel
    casperel este deconectat Membru SeoPedia
    Reputatie:
    45
    Data înscrierii
    10th February 2007
    Locaţie
    Bucuresti
    Posturi
    838
    Putere Rep
    45


    Implicit

    O poti adauga chiar separat, in functions.php al temei.

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. problema wordpress
    De zgabu în forumul Teste
    Răspunsuri: 11
    Ultimul Post: 30th August 2012, 23:23
  2. Problema Tag-uri Wordpress
    De Ing3ras în forumul Server side
    Răspunsuri: 3
    Ultimul Post: 28th January 2011, 12:19
  3. problema wordpress
    De Krm în forumul Server side
    Răspunsuri: 26
    Ultimul Post: 20th October 2010, 21:10
  4. timp sesiune
    De mamulea în forumul Discutii administrative
    Răspunsuri: 1
    Ultimul Post: 15th January 2008, 18:42
  5. Problema wordpress
    De florin în forumul Server side
    Răspunsuri: 15
    Ultimul Post: 19th December 2006, 04:04

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •