Pereiti prie turinio

Unikaliu svetainių apsaugos. Reikia pagalbos.


Rekomenduojami pranešimai

Sveiki,

Ieškojau informacijos, kurioje būtu pilnai aprašoma, kokias apsaugas taikyti, kuriant unikalų tinklalapį(PHP, Html, MySQL). Bet pilnai sukurto straipsnio taip ir neradau. Visus rašė, kaip apsaugoti php-fusion ar kitus tvs'us, bet man reikėtu žinoti, kaip apsaugoti unikaliai kuriama tinklapį. Kiek skaičiau, kad unikalių darbu beveik neįmanoma nuhack'int. Bet vistiek, kažkur yra silpnų vietu, kur bet koks tinklalapis jų turi. Tą ir norėčiau sužinoti. Gal kas iš žmonių dirbančiu prie rimtų projektų galėtu pasidalinti informacija ir papasakoti, kur nederėtu daryti to ar ano. O gal kas tiesiog esate rade straipsnį ar ką apie tai. Būčiau dėkingas.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kuriu naršyklinį žaidimą ir nenaudoju jokių papildomų programų, ar jau sukurtų pluginų. Vienintelis daiktas su kurio dirbu, tai notepad++, o daugiau visus kodus ir sqriptus koduoju pats. Mane domina tokie dalykai, kaip pvz.: kai vartotojas įrašo tekstą, kad tame tekste esančius, kai kuriuos simbolius keistu į kodus pvz $ į "& # 3 6 ;" (tarpai, nes kitaip pakeičia) ir t.t. Daugiau, kad reikia apsaugoti tokius kintamuosius kaip: news.php?page=5. Todėl tikrai nenorėčiau, kad projektą prie kurio labai daug dirbau, imtu ir kažkas nulaužtu.

Redagavo Transparent
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Didziausia demesi skirk inputam, poto gerai filtruok visus duomenis perduodamus GET, POST metodais, kintamiesiems nepriskirk failu. Sesijas, cookius taip pat padaryk tokius, kad is isores neitu jais manipuliuot. Slepk ivairius warningus bei error zinutes.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tarkim žinučių failas:

<?php

$page = $_GET['page'];

if ($messages_page == ""){

echo "1 psulapis";

} elseif ($page == "2"){

echo "2 psulapis";

} else { echo "tokio puslapio nėra"; }

?>

Įvedus index.php?page=2' (su akbute) išmes tokio psulapio nėra. Ar saugus toks būdas?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

XSS, SQL injection, CSRF (pasigūglink apie šitas atakas). Nedaryk tokių dalykų, kaip include($_GET['input'].'.php'). Dar reiktų elgtis atsargiai, kai leidi vartotojams uploadint failus/paveikslėlius. Jeigu visą šitą įgyvendinsi, manau galėsi jaustis pakankamai saugiai.

 

Tarkim žinučių failas:

 

Įvedus index.php?page=2' (su akbute) išmes tokio psulapio nėra. Ar saugus toks būdas?

Aišku saugus, juk nieko neinsertini į duomenų bazę.

Redagavo Tom
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Failų ir paveikslėlių net nežadėjau leist įkelt, o dėl žinučiu failo, tai bus insert į db, pvz.: index.php?send_to=5 (user_id), bet daryčiau, kad jei kintamojo nėra db, tai parašo tokio vartotojo nėra ar pnš. Pvz.: ištraukia iš users lenteles eilutes su id=5 ir suskaiciuoja, jei result=0 tai "tokio vartotojo nėra", jei 1 imeta į messages table naują eilutę su žinute.

 

 

Štai ką radau beieškodamas:

http://www.lescinskas.lt/lt/blog/tag/xss

Redagavo Transparent
Nuoroda į pranešimą
Dalintis kituose puslapiuose

elementaru vatsonai, kiek vienas kintamasis gal buti suklastotas get post cookie user-aget, nepagailek addslashes, jei dirbsi su failais nepamirsk . Ir .. .system funkcija ypatingai pavojinga, pavoju pakanka, vo svarbiausias daiktas uzdrausk error ir warningu rodyma i puslapi

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O jeigu kiekviena įvedama tekstą keisti su funkcija:

function antihack($text) {

if (QUOTES_GPC) $text = stripslashes($text);

$search = array("\"", "'", "\\", '\"', "\'", "<", ">", " ");

$replace = array(""", "'", "\", """, "'", "<", ">", " ");

$text = str_replace($search, $replace, $text);

return $text;

}

Tarkim kur įvedamas tekstas keisti:

$nickas = antihack($_POST['nickas']);

 

Manau saugo vos nuo ne visų atakų.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nu tada darai funkcijas, kad jei yra neleistinų simboliu nieko nedaro. O kaip daryt, kad galėtu naudotis bbcodais, ar pavadinima užsirašyt '''name''' ? Manau keisti su ta funkcija, juk ji naudojama ant php-fusion, kai rašai komentarą, ar šaukykloje nori pasisakyt...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai, kaip supratau:

1. Neleisti idėti failų.

2. Visus inputus, kuriuose yra < > ' " ir t.t. keisti kodais, arba neleisti nieko atlikti. (nei įvykdyti injekcijų).

3. Uždrausit errorų rodymą.

4. Jei įvestas inputas nerastas tą ir išvesti, o ne ieškoti pagal jį. Pvz.: profile?id=4' .

Jei ko nepasakiau - sakykit, pridursiu į šį postą. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...