Jacky

Statistika

Pridružen/a:
22 apr 2012, 19:58
Zadnjič aktiven:
Prispevki:
Teme:
7 | Vse teme
53
15
0
#15

Heh, NB =). Ja sem potem malo pomislil ja pa sem prišel do zaključka da reverse dns je glih tak vezan na IP. Tako da na koncu koncev z php nimaš dobene možnosti dobit nič unikatnega in varnega od uporabnika :).



Torej Cookie + PHP Seje pa gremo !



Hvala za nasvete !


všeč(0) ni všeč(0) spam(0)
#13

Hvala zelo zelo so mi ti komentarji razširili pogled.



Najbol se mi pa dopade ideja, da še polek vsega primerjaš ISP-ja recimo. To se da pridobit ali pa drzavo kar je lažje. Sicer ni ravno nek zelo dober podatek ker pri kitajcih je to miljarda ampak za europo pa že ^^.



No kakor koli ostajam pri cookie + tmp key + baza. Za enkrat. Bom pa spremenil in odstranil bazo ker je res samo v napotu. Ker v primeru da pride uporabnik po potečeni seji se nov cookie prenese prek HTTP ki pa ni varen.



Me pa zanima zakaj je PHPBB napisan v smeri baze, ker namreč tam sem dobil idejo za ponovno avtorizacijo preku baze podatkov. PHPBB ma nek key za vsakega uporabnika pa sejo, podobno kod jaz ampak nekako tricky xD.



Kakor koli ! Se zahvaljujem, če bo pa še kaj novega pa kar na plano !



P.S.: Ime računalnika pridobiš z : "gethostbyaddr" ki pa dajansko ne odvrne ime pcja, ampak reverse IP ime. Kar pa je tudi kar dobra zadeva ker recimo na dinamičnih ip-jih vsi ISP-ji imajo reverse dns ime unikatno, nevem pa ali ostane z uporabnikom ali se enako spreminja kod ipji. Torej če je reverse name vedno enak na različnih IP naslovih je potem to dokaj dobra zadevca =)


všeč(0) ni všeč(0) spam(0)
#4

Ok ^^ Hvala za pomoč.



Drugače pa ne uporabljam direktno base64 ampak imam nekaj takega:



ivlen = 35

password = 3|@4'
|F56zkr23sal31'*?v:b/$in%tdHELX&"! (samo primer)


// Encryption encrypt
//////////////////////////////////////////////////////////////////////////////////////////////////
function enc_e( $plain_text ) {
global $site;

$password = $site[enc_pass];
$iv_len = $site[enc_len];

$plain_text .= "\x13";
$n = strlen( $plain_text );
if ( $n % 16 )
$plain_text .= str_repeat( "\0", 16 - ( $n % 16 ) );
$i = 0;
$enc_text = get_rnd_iv( $iv_len );
$iv = substr( $password ^ $enc_text, 0, 512 );
while ( $i < $n ) {
$block = substr( $plain_text, $i, 16 ) ^ pack( 'H*', md5( $iv ) );
$enc_text .= $block;
$iv = substr( $block . $iv, 0, 512 ) ^ $password;
$i += 16;
}
return base64_encode( $enc_text );
}

// Encryption Decrypt
//////////////////////////////////////////////////////////////////////////////////////////////////
function enc_d( $enc_text ) {
global $site;

$password = $site[enc_pass];
$iv_len = $site[enc_len];

$enc_text = base64_decode( $enc_text );
$n = strlen( $enc_text );
$i = $iv_len;
$plain_text = '';
$iv = substr( $password ^ substr( $enc_text, 0, $iv_len ), 0, 512 );
while ( $i < $n ) {
$block = substr( $enc_text, $i, 16 );
$plain_text .= $block ^ pack( 'H*', md5( $iv ) );
$iv = substr( $block . $iv, 0, 512 ) ^ $password;
$i += 16;
}
return preg_replace( '/\\x13\\x00*$/', '', $plain_text );
}
všeč(0) ni všeč(0) spam(0)
#2

O ja ^^ Zelo. Za bazo uporabljam Hash sha512 z saltom tako da to me ne skrbi, bol za avtorizacijo pa to. Torej če dam v cookie uporabniški ID z base64() salt enskripcijobi moglo bit dovol varno? Prijava seveda poteka preku SSL oz. TLS


všeč(0) ni všeč(0) spam(0)
#

Dober dan,



Mene zanima ena stvar, in sicer poskušam nardit zelo varno prijavo z možnostjo "Remember me" torej sestava je takšna:



Po prijavi usvtarim sejo z informacijami o uporabniku (ID uporabnika (random generiran ali pa Facebook account id), temporary ključ (popovnoma random z trenutnim časom in ip naslovom uporabnika, seveda enskriptan z base64 in pa ključem, hkrati pa ustvarim tudi cookie z informacijo temporary ključa. Torej če uporabnik ne označi "Remember me" bo po potečeni seji (po zaprtju browserja) ta potekla. V bazi pa je ta seja omejena na en dan. Če je pa "Remember me" označen pa se shrani v bazi podatek da je potek seje čez 30 dni, in pa ko uporabnik pride nazaj, brez seje se zgodi naslednje:

Preverim cookie, če je key enak kod v bazi, ustvarim nov temporary key z expiracijo iz baze (torej še 29 dni) in tudi shranim nov temporary key v cookie.



Samo zanima me ena zadeva, glede na to da se da cookie ukrast, kakšna je možnost za to? Se da kako zaščitit da bi recimo v bazo shranil nekaj unikatnega za vsakega uporabnika? In pa prenašam vse skupaj prek HTTPS če je le možno. Problem pa nastane ko uporabnik pride po potečeni seji, ker ne glede na protokol se ponovno ustvari cookie z novim "keyom" ki pa ni prenešen preku https protokola, je to velika luknja v varnosti?



Če želite več lahko tudi postam kodo. Samo da rešim tole, ker rabim res varno prijavo tudi za kasneje.



LP.

Jaka.


všeč(0) ni všeč(0) spam(0)
#25

To je tezko ker je zelo odvisno od strani kaj dela pa kako.

Recimo vsaka stran je drugačna. Zelo je odvisno od optimizacije html/php. Recimo da za 320kb stran z slikami seveda html nekje 20kb bi lahko pomoje z 512mb rama + dual core xeon zdrzala tudi do 10.000 obiskovalcev.



Seveda pa to pomeni da mora bit apache itd zelo optimiziran pa net vsaj 25mpbs. Je pa res da je to popovnoma ugibanje. Se ne ukvarjam z gostovanjem več in nevem kaj dosti o novih processorjih, ramih, operciskih sistemih itd.


všeč(0) ni všeč(0) spam(0)
#

Pozdravljeni,



Nekaj časa nazaj sem bil zelo skeptičen ali bi nabavil SSD ali ne. Ker pa sem zdaj dobil nekaj denarja sem se odločil za preizkus. In sem nabavil OCZ Agility 3 za osebni računalnik. Seveda sem popovnoma zadovoljen in presenečen. Windows 7 se naloži v pičlih 15 sekundah. Igre kod BF3 rabijo 5-8 sekund ! Neverjetno res !



No pa da nadaljujem, nato sem se pa odločil za en test. In Sicer imam RAID 1 (2x WD 640gb caviar black) diske in pa domači streznik ki laufa na AMD Platformi in gigabyte matični (Desktop hardware ne server) z Windows Server 2008 ki ga poganja RAID 10 z diski Seagate 320gb (7200RPM), WD Black 500gb (7200RPM), WD Green 500gb (7200 RPM) in pa 320gb WD laptop disk (5400RPM).



Vsi raidi so zgrajeni na intel raid controllerju. Rezultati testa pa so naslednji (samo za hitrosti branja/pisanja):



RAID 1 (2 diska):



RAID 10 (4je diski):



NO RAID SSD (1 disk):



Povzetek Testa:

- RAID 1 Max Branje: 92.70 MB/s | Max Pisanje: 105.21 MB/s

- RAID 10 Max Branje: 179.35 MB/s | Max Pisanje: 136.06 MB/s

- SSD Max Branje: 551.57 MB/s | Max Pisanje: 449.10 MB/s



Torej za strezniska okolja kak raid 10 z 10k rpm diski bi bil res odlična rešitev za varnost in hitrost.

Seveda pa SSD-ja nič ne prehiti tako da če imaš denar se odločiš za kak RAID 1 SSDjev =).



Upam da vam je to kaj v pomoč pa da nebote pljuvali preku mojega testa preveč ^^.


všeč(11) ni všeč(1) spam(0)
#4

OvcaX:

@klop43



Marketinški trik je 100 Mbs.

Dejansko ti za nek povprečen strežnik 1Mbs (Burst 10 Mbs) več kot dovolj.



Lahko ti dam za probat, če te zanima.

Naši strežniki imajo v povprečju cca 3-5 Mbs in maxe od 15-25Mbs

To ti lahko podkrepim tudi z letnimi grafi samo na ZS.




Se opravičujem sem pri svojem odgovoru spustil da VPSji majo to tako kod si ti povdal ^^. Za dedicated oz namenski streznik pa je kod sem jaz napisal. VPS-ji pa majo vedno večinoma burst/minimum. Ker je vse deljeno, zato pa nikoli nisem maral VPS rešitev.


všeč(0) ni všeč(0) spam(0)
#2

Pozdravljen,



No zdaj odvisno kakšne razlike v hitrosti maš v mislih. Pa tudi za kaj potrebuješ vps.



Recimo: Spletna stran z ogromno obiskovalci brez prenosov itd. 100/100 mbps popovnoma dovol, Prenosi + obiskovalci in ogromno prenosov 1gbps.



Moraš pač gledat na to kaj potrebuješ, Ampak generalno je 100/100 dovol, sicer pa danes je tudi povprečna hitrost prenosa na uporabnika višja kod včasih zato je 1gbps vredu met za zelo obiskane strani.



Upam da je to odgovor ki si ga iskal, drugače pa vprašaj malo bolj podrobno pa ti bom znal opisat.



P.S.: Če imaš v mislih duplex/full duplex je pa razlika, če se ne motim, da duplex je 100mbps torej max 50/50mbps če pa je full duplex 100mbps pa pomeni da gre (100/100mbps) mbps



P.P.S.: Eni datacentri imajo različne kvalitete povezav recimo Premium in Standard (na nizozemskem) razlika je da Premium bo imel več možnosti krajših povezav do uporabnikov kod standard (ponavadi) pomeni da je krajša pot podatkov od streznika do uporabnika. Standard pa bo šal po cenejših routih ki so dalši in počasnejši. Vse to pomeni samo razlika v PING ki pa je bol pomemben za gamerje kod spletne strani.



LP.


všeč(1) ni všeč(0) spam(0)
#8

Ow se opravičujem, nisem vedel da so slikovni prepovedani, zakaj pa dovoljujejo IMG tag v podpisih ? :D



Spremenjeno =)



mislim en


preg_replace("#\[img=(.*)?\][/img]#i", "", $text);

bi vse rešil hah :D



MM koda ni pravilna ker forum sam replaca tag :D


všeč(0) ni všeč(1) spam(0)