Gå til innhold

magikern

Medlemmer
  • Innlegg

    1 579
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av magikern

  1. anbefaler deg å ta en titt på 'prepared statements' og bind params.

     

    fra http://php.net/pdo

    Prepared statements and stored procedures

     

    Many of the more mature databases support the concept of prepared statements. What are they? You can think of them as a kind of compiled template for the SQL that you want to run, that can be customized using variable parameters. Prepared statements offer two major benefits:

     

    * The query only needs to be parsed (or prepared) once, but can be executed multiple times with the same or different parameters. When the query is prepared, the database will analyze, compile and optimize it's plan for executing the query. For complex queries this process can take up enough time that it will noticeably slow down your application if you need to repeat the same query many times with different parameters. By using a prepared statement you avoid repeating the analyze/compile/optimize cycle. In short, prepared statements use fewer resources and thus run faster.

    * The parameters to prepared statements don't need to be quoted; the driver handles it for you. If your application exclusively uses prepared statements, you can be sure that no SQL injection will occur. (However, if you're still building up other parts of the query based on untrusted input, you're still at risk).

     

    Prepared statements are so useful that they are the only feature that PDO will emulate for drivers that don't support them. This ensures that you will be able to use the same data access paradigm regardless of the capabilities of the database.

     

    forøvrig:

     

    <?php
    
    $ip = $REMOTE_ADDR;
    
    mysql_query("UPDATE users SET l_ip='$ip' WHERE username='$username'");
    ?>
    

    her kan $REMOTE_ADDR skrives om til det meste

    f.eks noe alla:

    &27;&59;DELETE&20;*&20;FROM&20;users

     

    ps: skrevet etter hukommelse fra ascii tabellen så akkurat den linja er nok ikke helt riktg, men en variasjon av den kan gi deg problemer. uansett er hovedpoenget her at du ikke vet om $REMOTE_ADDR faktisk er en session variabel eller kanskje cookie,get,post, og du vet heller ikke om den følger strukturen til en standard ip adresse.

     

    derimot hvis du kjører med register_globals=off (som man ALLTID bør gjøre) så er variabelen tom, noe som heller ikke gir særlig mening i queryen din.

  2. vet ikke om du har fått ordnet det, men jeg har i flere å brukt kommandoen 'rename' til lignende av dette

     

    tror denne linja bør fungere for ditt bruk:

     

    rename -n 's/Bilde (\d+) - (\w+)\.jpg/Picture_$1_$2.jpg/' *

     

    med -n vil du kjøre en såkalt 'dry run' for å se om det blir riktig uten å ødelegge noe, bytt ut -n med -v når du er fornøyd.

     

    om det ikke blir helt riktig prøv å bytt til f.eks:

     

     

    rename -n 's/Bilde (\d{1}) - (\w+)\.jpg/Picture_$1_$2.jpg/' *

     

    på debian baserte linux distroer ligger rename i pakkebrønnen, og jeg antar man finner den mer eller mindre like lett på andre distroer.

  3. hvis du kan fjerne alt utenom akkurat verdiene blir det ganske greit:

     

    (med f.eks komma separering må du først kjøre explode(",",$str); og så etterpå explode(" ",$str); på hver av verdiene du får fra første explode)

     

    (PS: skrevet i full fart og ikke testet)

     

     

    <?php
    $str = "OSLO BERGEN 10.00 11.00 FREDAG 07.12.2007";
    $arr = explode(" ",$str);
    switch(count($arr)) {
    case 6: list($from,$to,$before,$after,$day,$date)=$arr; break;
    case 5: list($from,$to,$before,$after,$day)=$arr; break;
    case 4: list($from,$to,$before,$after)=$arr; break;
    case 3: list($from,$to,$before)=$arr; break;
    case 2: list($from,$to,$before)=$arr; break;
    case 1:
    case 0:
    default: die("not enough values"); break;
    }
    ?>
    

     

    tja, finnes sikkert en enklere måte også, men tror dette skal fungere greit nok.

  4. du må legge inn xp først ja, ihvertfall er det veldig mye lettere på den måten da *nix samarbeider med andre OS noe XP ikke gjør,

     

    i (u|ku|xu|edu)buntu fra versjon 7.04 og høyere får du under installering ett valg om å trekke inn brukerinfo som: "My Documents" wallpaper o.l. fra XP til din nye bruker,

     

    siden du (såvidt jeg har skjønt det) er ny i *nix så velg "fominsk windows partisjon og bruk ledig plass" (husker ikke akkurat ordlyden, men er ihvertfall ett av de automatiske valgene) under partisjonering i installeringen...

     

    oppstartslasteren til ubuntu legger til windows som ett valg, så du kan lett velge hvor du vil når du starter maskinen...

  5. ntfs til windows,

     

    ext3,reiserfs,reiser4, jfs, xfs, zfs er noen av valgene til linux, jeg har lenge brukt reiserfs, men tok i bruk jfs ved siste partisjonering for noen dager siden og er veldig fornøyd hittil.

     

    ntfs eller fat32 på disk til både win og linux, trenger ntfs-3g pakken i linux for å bruke ntfs der.

     

    -Deamon-tools (viteruell cd-rom)

    veit ikke om noen gui, bruker:

    mount -t iso9660 -o loop FILE.iso /path/to/folder

    men det finnes nok noe i nyere versjoner av Ubuntu da det meste i CLI har GUI alternativ. greieste er alltid å høyreklikke en fil i f.eks Nautilus for å se hvilke alternativer man har...

     

    -utorrent

    bittornado,bittorrent,azureus,ktorrent osv osv

    har ingen erfaring med utorrent, men ser folk beskrive KTorrent som veldig lik den.

     

     

    -win-amp

    vlc, xmms (veldig lik winamp, tror faktisk den kan bruke skin fra winamp),kaffeine, totem, amarok osv osv

     

    -ashampoo eller nero burning rom

    har ikke hørt om ashampoo, men ihvertfall så har du k3b, banshee, gnomebaker osv osv, personlig bruker jeg to CLI: cdrecord og growisofs

     

    -winrar

    jeg bruker bare CLI verktøy til alle former for pakking, men det finnes diverse GUI også, i GNome kan man høyreklikke en fil og trykke på noe alla "extract archive"

  6. PHP

    <?php

     $pages = array(

    array(

     'nick' => 'hvem',

     'desc' => 'Hvem er vi?',

     'sub' => 'no'),

     array(

     'nick' => 'om',

     'desc' => 'Om våre system',

     'sub' => 'yes'),

    array(

     'nick' => 'tjenester',

     'desc' => 'Tjenester',

     'sub' => 'no'),

    array(

     'nick' => 'data',

     'desc' => 'Data',

     'sub' => 'yes'),

    array(

     'nick' => 'video',

     'desc' => 'Video',

     'sub' => 'yes'),

    array(

     'nick' => 'kontakt',

     'desc' => 'Kontakt oss',

     'sub' => 'no'),

     );

     

    foreach($pages as $key => $value) {

    echo $value['nick'] . "<br />" $value['desc'] . "<br />" $value['sub'] . "<br />";

     

    }  

    ?>

  7. Q: How can I recover (undelete) deleted files from my ext3 partition?

    Actually, you can't! This is what one of the developers, Andreas Dilger, said about it:

     

    In order to ensure that ext3 can safely resume an unlink after a crash, it actually zeros out the block pointers in the inode, whereas

    ext2 just marks these blocks as unused in the block bitmaps and marks the inode as "deleted" and leaves the block pointers alone.

     

    Your only hope is to "grep" for parts of your files that have been deleted and hope for the best.

  8. kan se ut som det muligens er en bug i php (med mindre jeg har oversett noe her), testa dette:

     

    PHP

    <?php

    class test

    {

    function __construct ()

    {

    session_start();

    echo 'Initialize session.';

    }

     

    function fillSession () {

    $_SESSION['random']=rand(1,100);

    }

     

    function toString ()

    {

    echo "<pre>";

    print_r($_SESSION);

    echo "</pre>";

    }

     

    function __destroy ()

    {

    echo session_destroy()."";

    echo 'Session destroyed.';

    }

    }

     

    $test = new test();

    $test->fillSession();

    $test->toString();

     

    $test->__destroy();

     

    $test->toString();

    ?>

     

    $test->toString();

    printer fortsatt ut random variabelen etter $test->__destroy()

    men hvis jeg endrer __destroy() til

    PHP

    <?php

    function __destroy ()

    {

    echo session_destroy()."";

    unset($_SESSION);

    echo 'Finally, destroy the session.';

    }

    ?>

     

    så tømmes $_SESSION.

  9. Litt lesestoff:

     

    først en "utopisk" protokoll beskrivelse: (TCP o.l. bygger på denne)

    http://no.wikipedia.org/wiki/OSI-modellen

    http://computer.howstuffworks.com/osi.htm

     

    en algoritme for å finne raskeste vei fra (eksempelvis:) A -> H

    http://no.wikipedia.org/wiki/Dijkstras_algoritme

     

    generell info:

    http://no.wikipedia.org/wiki/Internett

    http://en.wikipedia.org/wiki/Computer_networking

     

     

    Edit: glemte jo helt flip-flop: http://en.wikipedia.org/wiki/Flip-flop_%28electronics%29

×
×
  • Opprett ny...