Jump to content
php.lv forumi

Venom

Moderatori
  • Posts

    1,918
  • Joined

  • Last visited

Posts posted by Venom

  1. var likt

    header('Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0');
    header('Pragma: no-cache');
    header('Content-Type: application/x-msword; charset=utf-8; format=attachment;');
    header('Content-Disposition: attachment; filename="export.doc"');

    un tālāk izvadīt htmlu

  2. kur vajag stripslashes pēc tam?

    iekš db liekot vajag eskeipot, tad no tās saņemsi normālā veidā, un stripslashes nevajaga

     

    precīzāk - ja lieto addslashes, tad tas bliež virsū gan ', gan " u.c.

    resp. var sanākt INSERT INTO ... SET column='value\'with\"quotes'

    tad no db saņemsi value'with\"quotes

     

    a vajaga lietot mysql{_real}_escape_string, vai str_replace("'","\\'",$inserted_value)

  3. date('Y-m-d', $newdate)

    cilvēkmīļo, pamatus jāzin!

     

    php "mīl" unix formātu datumu glabāšanai, resp. cik sekunžu pagājis no unix ēras sākuma (1970. 1.janv). tas saucas unix timestamp

    funkcija date - vienkārši formatē šo skaitu

  4. ahā

     

    pie reģistrācijas insert into tabula mail, login, laiks, hash

    ja lietotājam hash ir, tad viņš ir piereģistrējies, bet neapstiprinājies, pie apstiprināšanas update tabula set hash=tas un tas where lietotaja_id=tas un tas

    vai nu arī papildkolonna 1/0 status. un hash-kolonnu var tālāk izmantot arī kad piem. aizmirsta parole, e.g. noģenerē jauno nekodēti, iliek hashu un ja tiek ienākts ar hashu, noģenerēto paroli ieliek vietā jau kā md5 vai nu arī pieprasa ievadīt jaunu. kā nu izvrašenstva pietiek

  5. nujā liec papildkolonnas - reģistrācijas pieteikuma laiks un unikālais hashs, piem. md5(no email, username, pwd + pieteikuma laiks) tad, ja tiek nodots ar linku hashs, tiek pārbaudīts vai tāds ir db un vai tas nav noildzis + paralēli laiku pa laikam tiek izsaukts process ar DELETE FROM table WHERE pieteikuma_laiks<time()-3600*24*2 (mazāks nekā 48 h atpakaļ)

    procesu liek vai nu uz cron (lin) / at (win) dēmonu, vai arī piem. pie citu lietotāju reģistrācijas if (!rand(0,10)) mysql_query('DELETE ...'); //ar varbūtību 10% uzsāks novecojošo ierakstu dzēšanu

  6. <?php

    //uzsākam sessiju prims jebkāda outputta

    session_start();

     

    /*pārbaudām, vai ir pēdējās pārlādes laiks, ja nav (tikko ienācis),

    liekam tekošo laiku */

     

    if (!isset($_SESSION['last_action']))

    $_SESSION['last_action']=time();

     

    /* pārbaudām, cik sekunžu pagājīs no iepriekšējās pārlādes,

    pirmo reizi tas būs 0, jo tikko uzlikam to pašu time(),

    katru nākāmo reizi salīdzināsim ar laiku ielikto rindā ar ** komentārā */

     

    if (time()-$_SESSION['last_action']>600)

    exit('Pagājušas vairāk nekā 10 min pēc pēdējās darbības');

     

    /* ja mūs izlaida cauri, resp. pirms pēdējās darbības pagājis<10 min,

    atjaunojam/ieliekam tekošo darbības laiku */

    $_SESSION['last_action']=time(); //**

     

    /*kaut kur <head> apvidū varam ielikt refrešu uz 10min+1 sekundi,

    lai lapa automātiski pārlādētos pēc 10 dīkstāves minūtēm */

    echo '<meta http-equiv="refresh" content="601; url='.$_SERVER['PHP_SELF'].'" />';

    ?>

     

    topics slēgts?

×
×
  • Create New...