Eredmény: 1 - 4 (4) összesen

Téma: Keresőbarát URL-ek és a biztonságos lekérdező sztring

  1. #1
    Tag
    Csatlakozott
    10-07-26
    Hozzászólás
    78
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás Keresőbarát URL-ek és a biztonságos lekérdező sztring

    Ha van egy nemlétező(!) oldal URL-je (csak a példakedvéért írom, ne töröljétek már moderátorok, légyszi):
    video-oldal.hu/nev.php?nev=Egy-konkret-video-cime
    Amit majd .htaccess-sel ilyenné akarok alakítani:
    video-oldal.hu/nev/Egy-konkret-video-cime

    Erre a videó címre, hogyan lehet egy lekérdezést csinálni, amikor az URL-ben ékezetlenül szerepel, az adatbázisban pedig rendesen ékezetesen?
    Írtam egy másik topic-ban, hogy szerintem valahogy így lehetne lekérdezni:
    Kód:
    mysql_query("SELECT * FROM tabla WHERE ekezetlenit(cim)='" . ekezetlenit($_GET['nev']) . "'");
    De nem tudom, hogy hogyan lehetne megoldani a MySQL-ben az ékezetlenítést.
    A vizsgálat azért is lenne szerintem fontos, mert ha egy "rosszindulatú" látogató "beletöröl" mondjuk az URL-ben a videó címébe akkor ugye egy csomó hibaüzenetet ír az oldalra.
    Tehát hogyan lehet biztonságos módon kezelni a keresőbarát URL-eket?


    Utoljára módosítva: scs által : 2010-09-24 20:22 Oka: Bennemhagytam, csak kivettem a kattinthatóságát. (De szép szó. :) )

  2. #2
    Bölcs
    Csatlakozott
    07-08-28
    Hozzászólás
    1.030
    Begyűjtött 150 köszönetet
    109 hozzászólásával

    Alapbeállítás re: Keresőbarát URL-ek és a biztonságos lekérdező sztring

    Háát első sorban ezt nem valós időben kell megoldanod.
    Tehát kell legyen egy url meződ ami azt tárolja amit a böngészőből vissza vársz. Ennek 2 oka van:
    - teljesitmény. az url mezőre igy tudsz indexet épiteni.
    - egyértelmüség. mert nem mindegy hogy a fokabel -t a főkábel - ből vagy a fókabél ből hoztad létre.

    Utánna, pedig egyszerüen megnézed, hogy kaptál -e egy darab választ a lekérdezésedre. Ha igen, megjelenited az oldald, ha nem akkor nem.

    $result = mysql_query('SELECT * FROM tabla WHERE url = \'' . mysql_real_escape_string($_GET['cim']) . '\' LIMIT 0, 1);
    if (mysql_num_rows($result) == 1)
    {
    include('video_display.php');
    }
    else
    {
    include('video_notfound.php');
    }



  3. #3
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: Keresőbarát URL-ek és a biztonságos lekérdező sztring

    Biztonságosan úgy hogy
    $debug = true;

    mysql_connect etc

    $url = mysql_real_escape_string($_GET['nev']);
    $sql = "SELECT * FROM tabla WHERE url = '$url' ";
    $res = mysql_query($sql);
    if (!$res) { sql_hiba($sql); }

    function sql_hiba($sql){
    global $debug;
    $out = "SQL HIBA : mysql_errorno <br> mysql_error";
    if ($debug) {
    die($out);
    }
    else {
    $hibaf = fopen('sql_hiba.html', 'a');
    fwrite($hibaf,time().'<br/>'.$_SERVER['REMOTE_ADDR'].'<br/>'.$out.'<hr>')l
    fclose($hibaf);

    }
    }
    Midig használj mysql_real_escape_string et és mindig mindent tegyél '' vagy "" közé a lekérdezésekben, még ha szám akkor is.
    Ez anyit tesz hogy ha $debug true akkor kiirja a hibákat az oldalon ha meg false akkor elmenti egy fileba amit érdemes néha napján átnézni, a kódot most irtam szal lehetnek benne hibák.

    Az ékezetlenitésre meg a megoldás a coalition lehet, de én a helyedben azt csinálnám, hogy venném a videók címét és egy úgy oszlopot csinálnék neki amiben ékezetlenitve valamin szóköz nélkü szerepel a cím és azzal hasonlítaná, össze.

    Egy másik megoldás lehet az, hogy a urlbe be tenném az ID-t
    www.video-oldal.hu/nev/Egy-konkret-video-cime-15
    és azt használnám azonosítónak.



  4. #4
    Tag
    Csatlakozott
    10-07-26
    Hozzászólás
    78
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Keresőbarát URL-ek és a biztonságos lekérdező sztring

    Hallgattam rátok és felvettem egy 'url' nevű mezőt, ahol ékezetek nélkül tárolom a videók címeit.



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •