Pereiti prie turinio

Rekomenduojami pranešimai

jeigu error_reporing(0); nepadaręs, nemėto tau crash'ų?

Gali būt kad session_start(); trūksta ar ob_start(); (juos rašai pačioj pradžioj failo).

 

Arba gal koduotė netinka? Su UTF8 man atrodo netinka, reik ANSI su UTF8.

Redagavo doncatas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

jeigu error_reporing(0); nepadaręs, nemėto tau crash'ų?

Gali būt kad session_start(); trūksta ar ob_start(); (juos rašai pačioj pradžioj failo).

 

Arba gal koduotė netinka? Su UTF8 man atrodo netinka, reik ANSI su UTF8.

 

Gaunamos klaidos:


Warning: Cannot modify header information - headers already sent by (output started at /public_html/index.php:5) in /public_html/funkcijos.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at /public_html/index.php:5) in public_html/index.php on line 11

Nuoroda į pranešimą
Dalintis kituose puslapiuose

tai sakau, kažkuris iš tų turėtų padėt:

session_start();

ob_start();

pačioj pradžioj failo parašyk (o ne tarp <body> ir pan.)

ir koduotę pakeisk į UTF8 without BOM.

prie ko sesijos ir sausainiai? Su bufferiu tai isvis nusisneki...

 

Nes su sesijom nemoku naudotis :lol:

Sausainiukai yra labai nesaugu. Nors ir sesijos yra apeinamos, taciau jos yra daug saugesnes, negu vien sausainiukai, gali cia gale paskaititi http://apieviska.info/kaip-darayti-autorizacija-registracija-php/

Redagavo apieviska
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip tai ne prie ko buffer'is? Gi klaidoj aiškiai parašyta, jog prieš headerį yra output, todėl ir meta klaidą. O kai naudoji kukius yra užsetinamas header'is.

 

Antra posto dalimi nusipezėjai dar labiau. Kuo kukiai yra labai nesaugūs? Jeigu ta informacija nėra slapta, ko jos negalima dėt į kukį? Ir paaiškink man durnam kaip tos sesijos apeinamos šiais laikais? Turbūt sužinant sesijos id?

 

O atsakant į temą: tikriausiai rašai kodą taip: html kodas <?php kodas ?> html kodas. Jeigu kodą rašai būtent taip, tai kukį užstatyti turi prieš HTML kodą arba bet kokį kitą outputą! Todėl kodą kišk į patį failo priekį arba naudok output bufferį (ob_start)

Redagavo prodiger
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip tai ne prie ko buffer'is? Gi klaidoj aiškiai parašyta, jog prieš headerį yra output, todėl ir meta klaidą. O kai naudoji kukius yra užsetinamas header'is.

 

Antra posto dalimi nusipezėjai dar labiau. Kuo kukiai yra labai nesaugūs? Jeigu ta informacija nėra slapta, ko jos negalima dėt į kukį? Ir paaiškink man durnam kaip tos sesijos apeinamos šiais laikais? Turbūt sužinant sesijos id?

 

O atsakant į temą: tikriausiai rašai kodą taip: html kodas <?php kodas ?> html kodas. Jeigu kodą rašai būtent taip, tai kukį užstatyti turi prieš HTML kodą arba bet kokį kitą outputą! Todėl kodą kišk į patį failo priekį arba naudok output bufferį (ob_start)

issaugok betkoki wp faila su bomu ir tau mes sita erora neprikrausomai nuo bufferio isvedimo.

 

Ir siaip logiskai pagalvok: kaip zmogus, kuris nemoka naudotis sesijomis gali naudoti bufferio isvedima?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

issaugok betkoki wp faila su bomu ir tau mes sita erora neprikrausomai nuo bufferio isvedimo.

 

Ir siaip logiskai pagalvok: kaip zmogus, kuris nemoka naudotis sesijomis gali naudoti bufferio isvedima?

 

Čia WP ne prie ko. Kai saugai failą su BOM yra išsaugojamas simbolis prieš php kodą, kuris nurodo koduotę (bitų tvarką). Todėl reikia failą saugoti be BOM ir nustatyti koduotę per headerį arba metadata.

 

O kodėl negali? Nematau priežasties kodėl negalėtų

Redagavo prodiger
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Čia WP ne prie ko. Kai saugai failą su BOM yra išsaugojamas simbolis prieš php kodą, kuris nurodo koduotę (bitų tvarką). Todėl reikia failą saugoti be BOM ir nustatyti koduotę per headerį arba metadata.

 

O kodėl negali? Nematau priežasties kodėl negalėtų

Tame ir esme, kad nei wp, nei ob cia neprieko.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nes su sesijom nemoku naudotis :lol:

 

Laikas išmokti :) Su sesijomis žymiai patogiau...

 

O kas susija su saugumu, tai sesijas ir cookie kiek girdėjau galima pakišti, o ne iš jų duomenis gauti. Tarkim yra sesija

 

$_SESSION['username'] = $username;

 

Tada gali kažkaip pakišti, ir jei tinklapyje tikrini ar ta sesija ne tuščia, tada randa kad ji yra užpildyta ir įleidžia. Geriausia būtų dėti masyvo indeksus su md5 arba savu šifru užšifruotus :) Pavyzdžiui:

 


$hashed = md5(md5(md5("username")));

$_SESSION[$hashed] = $username;

 

Tokį taip pat labai lengva surasti, nes jei koks iš protingesnių, tai sugalvotų po vieną md5() f-ją pridėti ir jei gautųsi, tai gautųsi :) Galima tokiu atveju sumaišyti:

 


$hashed = md5(
	base64_encode(
		sha256(
			"username"
		)
	)
);

$_SESSION[$hashed] = $username;

 

Na bet čia tik mano nuomonė, beje, labai gerą built-in funkciją turi PHP:

 

print_r(hash_algos());

 

Į ekrano langą išves visus galimus hash algoritmus, gali pasiįvairinti ir abejoju ar atras masyvo indeksą :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Laikas išmokti :) Su sesijomis žymiai patogiau...

 

O kas susija su saugumu, tai sesijas ir cookie kiek girdėjau galima pakišti, o ne iš jų duomenis gauti. Tarkim yra sesija

 

$_SESSION['username'] = $username;

 

Tada gali kažkaip pakišti, ir jei tinklapyje tikrini ar ta sesija ne tuščia, tada randa kad ji yra užpildyta ir įleidžia. Geriausia būtų dėti masyvo indeksus su md5 arba savu šifru užšifruotus :) Pavyzdžiui:

 


$hashed = md5(md5(md5("username")));

$_SESSION[$hashed] = $username;

 

Tokį taip pat labai lengva surasti, nes jei koks iš protingesnių, tai sugalvotų po vieną md5() f-ją pridėti ir jei gautųsi, tai gautųsi :) Galima tokiu atveju sumaišyti:

 


$hashed = md5(
	base64_encode(
		sha256(
			"username"
		)
	)
);

$_SESSION[$hashed] = $username;

 

Na bet čia tik mano nuomonė, beje, labai gerą built-in funkciją turi PHP:

 

print_r(hash_algos());

 

Į ekrano langą išves visus galimus hash algoritmus, gali pasiįvairinti ir abejoju ar atras masyvo indeksą :)

 

Kam naudoti trigubą hashą ir apkrauti servą? Yra toks dalykas kaip hashinimo "druska". Prie kiekvieno hashinamo kintamojo pridėkite slaptą "druskos" žodį. Tarkim

md5('uzdarbis.lt'.$string);

ir hasho nebus galima rast duomenų bazėse.

 

Prie ko OB, tuo kad su juo kontroliuoji outputą ir leidi pirmą išsiųsti headerius, o tik tada atvaizduoti kažką. Gal nesuprantam viens kito.

 

O apie "pakišimus" pirmą karą girdžiu. Gal galima šaltinį gauti?

Redagavo prodiger
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na jei nori pagalbos, turi rodyti visą savo kodą.

 

Sausainiukai yra labai nesaugu. Nors ir sesijos yra apeinamos, taciau jos yra daug saugesnes, negu vien sausainiukai, gali cia gale paskaititi http://apieviska.inf...gistracija-php/

Gal vietoj rašydamas tutorialus eik pasiskaityk dar tutorialų. Sausainiukai jam mat nesaugu... mad.gif

 

O kas susija su saugumu, tai sesijas ir cookie kiek girdėjau galima pakišti, o ne iš jų duomenis gauti.

Įdomu ir kurgi tu tokius įdomius dalykus, kad client'as SESSION'us galėtų paskirti, girdėjai..? :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Įdomu ir kurgi tu tokius įdomius dalykus, kad client'as SESSION'us galėtų paskirti, girdėjai..? :D

Session id turėtų eiti pakišti svetimą... Jei nesiriša prie IP, prie nieko. Ar klystu? :)

 

Dėl hešavimo - pamirškit md5, ar trigubus-keturgubus-penkiagubus hešus (nesąmonė). Viskas, praeitis. Jei įsilauš normaliai į saitą, atkas ir failą, kuriame jūsų hešavimo algoritmas, pasirašys pagal tai skriptuką per 5 min., o tada iškrekins jau ne per 5 min., o 5 sek...

 

Naudokit normalų algoritmą (bcrypt, PBKDF2) ir aišku, su saltu. Įsilaužėlis per savo gyvenimą neišcrackins (nebent gaus kokį superkompiuterį į savo rankas...)

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nesuprantu vėl klaida....

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started....

 

Na, asmeniškai man patogiau cookies, nes sessions niekad nenaudojęs. O tame problema, kad kažkodėl jų neįrašinėja - skaitėte aukščiau.

 

Be to, jeigu spausdinu session tame pačiame faile - reikšmė išspausdinama, o jeigu nuoroda į kitą failą ir spausdinu, sessions nebėra, t.y. nieko nebespausdina. :unsure:

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ą...