Witam,
Mam takie pytanie , przygladam sie bazie danych SQLite i zaczynam powątpiewać
w bezpieczeństwo danych zgromadzonych w bazie , nie mówię tu już o hasłach, bo
przecież można je puścić przez jakiś crypt, ale np. dane klientów etc... Otóż, przypuścmy,
że zakładamy sobię bazę danych metodą tradycyjną - czyli :
<?php if (!http://www.php.net/file_exists('test/dane.db')) { $baza=sqlite_open("test/dane.db"); qlite_query($baza, "CREATE TABLE ......... } ?>
Bezpieczeństwo zależy od administratora oraz od programisty czy zabezpieczysz sie czy nie twoja sprawa. Ja stosuje parę trików:
Do htaccess dodajesz cos takiego
<Files ~ "^.*\.(inc|tpl|db|sqlite|htaccess)$">
Order allow,deny
Deny from all
</Files>
Co pozwala mi się czuć w miarę bezpiecznie - indexowanie wystarszy puścić query do google ~.db ... i jest tam masa projektów z aps może juz niedługo db.sqlite ;-)
Następnie przy łączeniu sie z bazą możesz wybrać tylko do odczyt:
$db = sqlite_open('/home/w3/main.db','0666');
W mysql dobrze trzymać pliki z hasłami poza witrynom w Sqlite najlepiej baze, jest także płatna modyfikacja która potrafi szyfrowanie bazę sqlite ale to stosują już tylko masochiści ;-)
Sqlite fajna sprawa lecz pamiętam moje początki gdy 100Mb baze tworzyłem 3godziny gdyż nie znałem magicznego polecenia BEGIN; Czy END; teraz to juz idzie bardziej sprawnie.
Wracając do tematu sqlite to młody projekt trzeba radzic sobie samemu a PHP5 nie obsługuje w pełni jeszcze sqlite3 nad czym ubolewam. Przez co musiałem troche sie napisać masa z tym było roboty lecz teraz praca z sqlite to sama przyjemność no może ograniczenie da 1Mb row w wersji sql2 może trochę denerwować . Jedyny plus jest taki iz przy sql injection nie trzeba sie bawić z Union
Wiec jedyne sposoby to
- trzymanie bazy poza katalogiem strony www ( co nie zawsze jest mozliwe )
- pliki htaccess
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)