Jump to content
php.lv forumi

test2

Reģistrētie lietotāji
  • Posts

    123
  • Joined

  • Last visited

Posts posted by test2

  1. Atvainojos par dp, bet aleksej, tu tur tajā topikā, kuru iedevi kko baigi gudri runāji, bet es redz nesaprotu neko no tiem hashiem sālīm utt, bet stāv prost md5 un viss, tāpēc vai tu nevarētu man jau visu salikt manā esošajā login sistēmā nu parādīt, jo ja tu man tagad teiktu: paņem ieliec šito tur un tur tad izveido fciju kas inserto hashu tur un tur, es noteikti visu salaistu pa kakām, tāpēc nevari man visu sataisīt manā login sistēmā?

    Ja tu man palīdzēsi tu būsi pats labākais, tāpat, kā andrisip, kurš man senāk ļoti palīdzēja!

    Man ļoti vajag save login!

    Ja jā lūk mans logins:

    if(isset($_POST['username']) and isset($_POST['password']))
    {
    $username = smarty($_POST['username']); // smary ir fcija kas filtrē injekcijas
    $password = smarty(md5($_POST['password'])); // smary ir fcija kas filtrē injekcijas
    $result = mysql_query("SELECT id FROM juuzeri WHERE usernaims = $username AND passwords = $password");
    if( $user = mysql_fetch_assoc($result) )
    {
    session_regenerate_id();
    $_SESSION['is_loged'] = 1;
    $_SESSION['mans_id'] = $user['id'];
    $_SESSION['username'] = htmlspecialchars($_POST['username']);
    if(isset($_POST['remember'])){
    $kods = md5($user['id'] + $_SERVER['REMOTE_ADDR']);
    #$kods = 'test';
    mysql_query("UPDATE juuzeri SET kukijs = '$kods' WHERE id = {$_SESSION['mans_id']}") or die(mysql_error());
    setcookie("langer", $user['id'], time()+60*60*24*100, "/");
    setcookie("gueswhat", $kods, time()+60*60*24*100, "/");
    }
    header("Location: index.php");
    }
    }

  2. Labums ir tāds, ka tajā speciālājā cepumiņā var iekodēt arī papildus informāciju. To veidojam apmēram tā:

     

    md5(lietotājaId + lietotāja_ip_adrese + slepenais hash)

     

    Un, tā kā tiek izmantota IP adrese (var vēl pielikt browsera id), tad to izmantot uz citas sistēmas jau būs drusku grūtāk. Šo variantu parasti izmanto, lai supportētu 'remember me on this computer' pie ielogošanās.

    A ja es lietotāju paroles aizkodēju tikai ar md5, es varu slepenā hash vietā izmantot šo fciju, kas ģenerē rand kodu?

     

    function createRandomPassword() {
    $chars = "abcdefghijkmnopqrstuvwxyz023456789";
    srand((double)microtime()*1000000);
    $i = 0;
    $pass = '';
    while ($i <= 7) {
    $num = rand() % 33;
    $tmp = substr($chars, $num, 1);
    $pass = $pass . $tmp;
    $i++;
    }
    return $pass;
    }

    un tad mans kukījs izstītos:

     

    md5(lietotājaId + lietotāja_ip_adrese + createRandomPassword())

     

    Tas būtu pietiekami droši?

  3. Tātad nesen sastapos ar problēmu savā pm sistēmā!

    Ja lietotājs nosūta ziņu jūzerim, kur manā formā ievada jūzeri, kam tiks sūtīta ziņa, tad aiziet mysql pārbaude, vai tāds mazs datubāzē eksistē.

    datubāzē niks , ir pieņemsim test, un jūzeris ir uzrakstījis to šādi Test, mysql saka ka viss ok, bet kad nāk ziņas apskatīšana precīzāk

    if ($_SESSION['niks'] == $niks) {

    echo "veestule";

    else {

    echo "Saka, ka vēstuli nevar apskatīt, jo jūs nēsat tas, kam viņa sūtīta";

    }

    ...

    ...

    Saka, ka vēstuli nevar apskatīt, jo jūs nēsat tas, kam viņa sūtīta, zinu ka varētu to nika pārbaudi nomanīt, piemēram uz ID, bet vai nevarat padot kādu citu ideju? Jo tad man diezgan daudz jāpārkodē, jo tur daudz, kas no tā ir atkarīgs...

  4. Es atvainojos par savu stulbumu, bet lūdzu parādi piemēru, manam kodam:

     

    if(isset($_GET['do']))
    {
    switch ($_GET['do'])
    {
    case 'news':
    include('inc/news.php');
    break;
    case 'comments':
    include('inc/com.php');
    break;
    default:
    include('inc/news.php');
    break;												
    }
    } else {
    include('inc/news.php');
    }

     

     

    Lūk ir mans index.php, jaunumu lapā links uz komentāriem izstīsies šādi: http://tuc.lv/comments/1

    Tas ko tu iepriekš iedevi rukā labi viņš katru get revraito piemēram, man tagad nav index.php?do=news, bet gan /news , bet kā man tam comments to id rewraitot! Es nejēdzu to splitošanu!

  5. Vot to splitošanu utt, es nesaprotu kā es caur php varu mainīt, es te biju atradis kkādu fcijas ar explode utt, bet es nesaprotu tu varētu man apskaidrot, kas tur īsti notiek...

     

    Tur jau ir tā lieta, ka man stāv šitāds:

     

    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^(.*)$ index.php?_path=$1 [QSA]

     

    Viss itkā rukā, bet kā jau teicu citreiz man ir vel kkāds mainīgais plusā index.php?_path=oh&page=12

    Tad, kā tas rewraits vsp to page var apsrtādāt, ja viņam ir padots tikkai viens Path, lūdzu paskaidrojiet man!

  6. Tātad man ir šādi GETI

     

    index.php?do=comments

    index.php?do=reg

    index.php?do=gallery

     

    man r gatavs rewrite, kas viņu pārstāda uz

     

    /comments/

    /reg/

    /gallery/

     

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !\.(css|js|jpg|gif|jpeg)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ ?do=$1 [QSA,L]

     

    Bet ir gadijumi, kur man ir vajadzība, kautvai tapašam

    index.php?do=comments paddot vel vienu mainīgo

    index.php?do=comments&id=2

    index.php?do=gallery&id=2

     

    Tātad man vajadzētu kko līdzīgu manam esošajam kodam, tikai lai rewraito arī nākamo ID, protams, es negribu katram GET sarakstīt manuāli, bet kā ir iekš

    tā mana gatavā koda!

     

    Pie reizes lūgums parādīt, ja ir trīs vai vairāki get mainīgie!

  7. Tātad jautājums pavisam vienkārš, es esmu pabeidzis kodēt portālu, un tagad tā aizdomājos, kad tur savāksies diezgan norm daudzums jūzeru, vai nelagos, jo dažviet es ar diezgan draņķīgu kodu visu samučinu, un tagad sāku kko optimizēt, tātad jautājums cik mysql kverus ieteicams izmantot vienā veicinājumā?

    Nevis cik, bet nu max, ko nevajadzētu pārsniegt, noteikti liela nozīme ir cik daudz jūzeri vienlaikus kustina, to konkurēto kodu, bet nu kkādus skaitļus lūdzu iedodiet, ir doma, kko bik papildus pieajaxot, lai nebūtu šādas problēmas...

  8. Tātad iekš DB ir šādas kollonas:

    ban_created ||  ban_length
    1201549735	  2

    Problēma slēpjas tur, kad man vajag uztaisīt pārbaudi vai bans vel stāv, respektīvi

    ja pašreizējais laiks (date();) ir lielāks par $row['ban_created']+$row['ban_length'];

    Bet laikām tā nevarēs, jo tas ban_length vienmēr būs minūtēs tātad pašreizējajā piemēra ir 2 minūtes, man vajag pārbaudīt vai tās divas minūtes jau ir beigušās!

  9. Nē tu to kā to padoto post vai get var aptrādāt pret tām injekcijam tas tak pašaprotami, bet enīvei es savā kodā nekad nelieku kkādus hiden šitus, manuprāt tas ir profesionālāk no kodēšanas viedokļa!

  10. Tātad pašreizējais kods izstās šādi:

    <img src="pievienot.gif" alt="Ievietot" onClick="document.fromas_action.inputa_name.value+='te_naaks_tas_ko_ievietos'" />

    Bet ja man tas teksts ko ievietos ir ar lielaam atsarpeem piemeeram:

    <img src="pievienot.gif" alt="Ievietot" onClick="document.fromas_action.inputa_name.value+='te_naaks_tas_ko_ievietos
    te_naaks_tas_ko_ievietos
    te_naaks_tas_ko_ievietos'" />

    Tad viņš nenostrādā, lūdzams iedot kkādu atrisinājumu šim gļukam!

  11. Tātad vajadzētu dabūt kkādu bbcode paneli, kur piemēram ir kkādas ikoniņas uz kurām uzpiežot inserto tagu iekš textarea, loģiski tam visam vajadzīgs JS, izmeklējos te pat foruma atradu kkādu postu, bet negāja man tas skripts, tad vel visu dienu pa gugli rakņājos, bet bez rezultātiem!

×
×
  • Create New...