CrisTany Posted June 28, 2013 Report Posted June 28, 2013 Salut, am nevoie de o metoda pentru a salva anumite imagini in baza de date MySQL, cativa din voi siti pentru ceva din topicul cu Security Researchers, unde v-am trimis link cu websiteul, unde salvam imaginile in fisiere si erau usor accesibile de catre cine nu trebuie, maginile erau contra cost si va dati seama de aici de ce vreau asta ..Ce am incercat eu e asa://INSERT IMAGES$img_url = 'image.jpg';$image_bin = mysql_real_escape_string(file_get_contents($img_url));mysql_query('INSERT INTO images (filename, type, bin) VALUES ("file.jpg", "image/jpeg", "' . $image_bin . '")'); //SELECT IMAGES$qry = 'SELECT filename, type, bin FROM images WHERE id = 1';$result = mysql_query($qry);$row = mysql_fetch_assoc($result);header('Content-type: ' . $row['type']);echo $row['bin']; din pacate nu afiseaza nimica, posibil sa nu fi creat tabelul corect.Daca stiti alte metoda sau sa o pot repara pe asta, va fi ok.Mersi. Quote
Moderators Dragos Posted June 28, 2013 Moderators Report Posted June 28, 2013 Tu stochezi textul "image.jpg" in tabela. Daca vrei sa o stochezi in baza de date, trebuie sa o transformi in sir de caractere. Quote
tromfil Posted June 28, 2013 Report Posted June 28, 2013 Nu f? prostia asta. Pune protec?ie din serverul web.Uite ai aici ?i exemplu.HttpSecureLinkModule Quote
EAdrian Posted June 28, 2013 Report Posted June 28, 2013 unde v-am trimis link cu websiteul, unde salvam imaginile in fisiere si erau usor accesibile de catre cine nu trebuie, maginile erau contra cost si va dati seama de aici de ce vreau asta ..p?i logica ar fi s? ai numele fi?ierelor sub forma unui ?ir de caractere aleatorii... 2 imagini » 2 nume diferite...sau...po?i s? le encodezi în base64 Quote
tromfil Posted June 28, 2013 Report Posted June 28, 2013 @EAdrian: Nu-l ajut? prea mult c? se va face leakege mai u?or dac? se afl? denumirile. Cel mai ok este cum i-am dat eu acolo. Quote
EAdrian Posted June 28, 2013 Report Posted June 28, 2013 @EAdrian: Nu-l ajut? prea mult c? se va face leakege mai u?or dac? se afl? denumirile. Cel mai ok este cum i-am dat eu acolo.când uploadezi fi?ierele le salvezi sub forma:(a?a le am eu în db)http://imagehost.tekken.ro/i/g3XLFpSHTCifxiZJpGUVzlhjc29kTP9Eonekr19TY.pngte gânde?ti la cryptare sau pur ?i simplu un simplu ?ir de caractere aleatorii la fiecare poz? în parte (ex: thumbnail s? aib? nume diferit fa?? de poza mare) Quote
tromfil Posted June 28, 2013 Report Posted June 28, 2013 Nu la criptare. Vezi acolo în link. Fiecare fi?iere are ata?at un hash pe baz? de timp ?i alte prostii. Deci va fi valabil pentru download doar o perioad? scurt? de timp. Altfel, cine m? opre?te s? m? prind de regul? ?i s? fac crawling la tot siteul?Zic asta pentru a spus c? sunt imagini pl?tite ?i nu are nevoie nici m?car de hotlinking. Quote
CrisTany Posted June 28, 2013 Author Report Posted June 28, 2013 Nu f? prostia asta. Pune protec?ie din serverul web.Uite ai aici ?i exemplu.HttpSecureLinkModuleNu inteleg cum ma poata ajuta asta, sau poate nu inteleg eu cum functioneaza.Nu exista o modalitate sa fac un folder si sa nu permita browsing ? sa poata fi accesat doar de server cand se cumpara o iamgine ? Quote
EAdrian Posted June 28, 2013 Report Posted June 28, 2013 (edited) Nu inteleg cum ma poata ajuta asta, sau poate nu inteleg eu cum functioneaza.Nu exista o modalitate sa fac un folder si sa nu permita browsing ? sa poata fi accesat doar de server cand se cumpara o iamgine ?Asta e o regul? c? htaccess trebuie s? includ?:<Files ~ "^.*\.(ini|LOG|log|bak|bk|LCK)"> Order allow,deny Deny from all Satisfy All</Files>Options -Indexes +FollowSymLinks -MultiViews//edit: http://stackoverflow.com/questions/3472770/restrict-file-access-only-read-through-phpAltfel, cine m? opre?te s? m? prind de regul? ?i s? fac crawling la tot siteul?Zic asta pentru a spus c? sunt imagini pl?tite ?i nu are nevoie nici m?car de hotlinking.Cum faci crawling la tot siteul când tu numai ?i numai când cumperi poza respectiv? î?i bor??te link-ul random din database ?PS: când am pu?in timp liber ?i tu de altfel, hai s? facem un test.. eu fac un scriptule? care s? borasc? ni?te poze ?i tu faci ce vrei s? ob?ii pozele... facem ? Edited June 28, 2013 by EAdrian Quote
CrisTany Posted June 28, 2013 Author Report Posted June 28, 2013 (edited) Asta e o regul? c? htaccess trebuie s? includ?:<Files ~ "^.*\.(ini|LOG|log|bak|bk|LCK)"> Order allow,deny Deny from all Satisfy All</Files>Options -Indexes +FollowSymLinks -MultiViews//edit: iis - Restrict file access -- only read through PHP - Stack OverflowAm facut pana la urma in alt fel.Mersi Edited June 28, 2013 by CrisTany Quote
UnixDevel Posted June 29, 2013 Report Posted June 29, 2013 acuma posteaza si metoda aleaza ,oricum sa le salvezi ca blob este cel mai nasol ,ai s avezi dupa ce urci vreo 10K, o sa ai nevoie de hosting serios /// cred ca cea mai buna metoda ar fi cea cu htacces + ceva sistem de autentificare cu cheie pe user Quote
CrisTany Posted June 29, 2013 Author Report Posted June 29, 2013 Am salvat in baza doar linkul catre imagine, iar la upload din ACP, fiecare imagine salvat intr-un director cu nume aleatoriu alcatuit din 30 de caractere aleatorii, cifre si litere, la fel si numele imaginii. Quote
tromfil Posted June 29, 2013 Report Posted June 29, 2013 (edited) @EAdrian: Dac?-s random este corect ce spui.Nu este pe sesiune. Vor putea face share de linkuri ?i o s? fii doar un site amuzant în care cei care au cump?rat pot face share direct în hostingul t?u (c? pot face share la imagini ?i pe alte siteuri este alt? problem?). Este ca ?i cum ai pune pagina de admin pe un link generat random c?-l ?tii doar tu sau user. Cineva va folosit Chrome? Ghici ce: Google va indexa linkurile accesate prin browser c? au sistemul ?sta.S? nu mai explic c? random de fapt nu este random.Nu inteleg cum ma poata ajuta asta, sau poate nu inteleg eu cum functioneaza.Nu exista o modalitate sa fac un folder si sa nu permita browsing ? sa poata fi accesat doar de server cand se cumpara o iamgine ?Po?i face combina?ia cu random ?i cu file_get_contents, dar ghici ce înseamn? optimizare ?i de ce serverul t?u va muri când faci a?a ceva. E o prostie. Dac? ai din serverul web protec?ie nu ai de ce s? serve?ti fi?ierele din php.Logica voastr? nu este ok.Crede-l m?car pe n3curatu. Are o experien?? foarte bogat? în web. Edited June 29, 2013 by tromfil Quote
CrisTany Posted June 29, 2013 Author Report Posted June 29, 2013 nu le salvez in db.Imaginile nu sunt accesate din browser deloc. Quote