![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: -- Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Przygotowywuje sie do pisania nowej aplikacji, jednym z zalozen ma byc latwosc aktualizacji i nieco trudniejszy dostep do kodu php - tak aby _zwykly_ user nie mogl latwo zobaczyc/edytowac kodu. Jednym z moich pomyslow (choc w sumei zaczerpniety chyba z Thota..) jest system pikow w mysql. Otoz chcialbym poznac Wasze opinie na ten temat, moze macie juz jakies doswiadczenie/rozwiazania w tej dziedzinie. Ja to widze mniej wiecej tak: W formie 'normalnych' plikow .php (zawierajacych kod) jest tylko kilka, podstawowych, niezbednych do dzialania reszty. A wiec np. sterownik mysql, obsluga bledow i.. obsluga mysqlowskiego systemu plikow. Reszta plikow przechowywana byla by w bazie. I teraz mamy np. plik kontakt.php. W nim mamy cos takiego: [php:1:77a4531598]<?php include("potrzebne_biblioteki"); eval(zaladuj_plik_z_bazy("kontakt.php")); ?>[/php:1:77a4531598] Struktura bazy - dwie niezbedne kolumny to jedna z nazwa pliku, a druga z zawartoscia tegoz pliku. Powyzszy kod, jak nietrudno sie domyslic, pobieralby zawartosc pliku kontakt.php i wykonywal zawarty w nim kod. Tu od razu uwaga - musialby to byc kod php, jesli zawieralby html to eval() by sie nie wykonal. I tutaj moje pytania: - czy to wogole ma sens? czy byloby to w miare wydajne? - jak przechowywac zawartosc pliku w mysql? Jako base64_encode i np. pole BLOB , czy jakos inaczej? - jesli by to mialo sens, to jak mozna by utrudnic 'rozkodowanie' takiego kodu przez mniej doswiadczonych userow? Podstawowa zaleta takiego rozwiazania bylaby mozliwosc zdalnej aktualizacji - nie potrzeba zadnych praw do ustalania chmodow przez php, zakldania nowych katalogow czy plikow itd. To dla mnie byloby dosyc wazne. Ale nie wiem czy np. wydajnosc nie dyskwalifikuje czegos takiego.. Pobieranie pliku z bazy, odkodowanie go i nastepnie potraktowanie evalem chyba byloby troche wolne? Czy to ma sens? Jak wybyscie to rozwiazali? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat - czy to wogole ma sens? czy byloby to w miare wydajne?
Napewno mniej wydajne od zwykłego filesystemu. Choć do prostych zastosowań (odczytywanie/zapisywanie naraz całych plików, częstsze odczyty niż zapisy) pewnie nie aż tak bardzo. Cytat - jak przechowywac zawartosc pliku w mysql? Jako base64_encode i np. pole BLOB , czy jakos inaczej?
BLOB z definicji przechowuje dane binarne, więc base64 jest zbędne. Cytat - jesli by to mialo sens, to jak mozna by utrudnic 'rozkodowanie' takiego kodu przez mniej doswiadczonych userow?
Co masz na myśli? Którego kodu, Base64? Cytat Podstawowa zaleta takiego rozwiazania bylaby mozliwosc zdalnej aktualizacji - nie potrzeba zadnych praw do ustalania chmodow przez php, zakldania nowych katalogow czy plikow itd.
Na filesystemie też możesz ustawić wszystkim prawa do wszystkiego i każdy będzie mógł uaktualniać. Tylko czy napewno chcesz się pozbyć choćby minimalnego systemu uprawnień. Cytat Czy to ma sens?
To zależy. Klasyczyny filesystem to też baza danych więc po co wyważać otwarte drzwi, zwłaszcza, że napewno będzie szybsza od SQLowej. Z drugiej strony w bazie SQLowej łatwiej przeprowadzić transakcję i blokowanie. Wszystko zależy od tego co będzie wygodniejsze do oprogramowania i czy spadek wydajności nie będzie zbyt duży. Powsadzaj parę różnych plików do bazy i porównaj ile się będą wyciągać stamtąd a ile z klasycznego pliku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 03:23 |