Jump to content
CrisTany

Save Images in MySQL Database

Recommended Posts

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

@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.png

te 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)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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-php

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.

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 by EAdrian
Link to comment
Share on other sites

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 Overflow

Am facut pana la urma in alt fel.

Mersi

Edited by CrisTany
Link to comment
Share on other sites

@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 by tromfil
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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



×
×
  • Create New...