Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konfiguracja serwera
Forum PHP.pl > Forum > Serwery WWW > Apache
Fifi209
Chciałbym dać "miejsce" na własną stronę w moim serwisie. Problem polega na tym, że nie koniecznie będą to osoby zaufane.

Dlatego zapytam wprost.

Jak i co mam zablokować (aby nie blokować niczego dla siebie)
Webserv ma katalog dla userów także oni będą mieli tam swoje "konta" (w tym wypadku foldery)

Zależy mi na blokowaniu funkcji takich jak:
* file_(get/put)_contents
* file
* fopen, fwrite, fclose, flock
* curl (tutaj ew. mogę wyłączyć bibliotekę)

(co jeszcze przyda się przy zabezpieczaniu ? )



MySQL - tworzę usera i bazę o nazwie identycznej jak nick, odejmuję mu troszkę praw. Ma dostęp tylko do swojej bazy. Czy to jest bezpieczne?
Crozin
Na ja dziękuję za "serwer" gdzie nie będę mógł sobie pliku utworzyć*...
dziwniejszych restrykcji nie widziałem.

* - normalnie
Fifi209
Cytat(Crozin @ 25.05.2009, 18:53:11 ) *
Na ja dziękuję za "serwer" gdzie nie będę mógł sobie pliku utworzyć*...
dziwniejszych restrykcji nie widziałem.

* - normalnie


To nie ma być serwer a miejsce na kawałek strony. Mam po prostu swój serwer do gry, mam stronę i chcę dać możliwość m.in. zrobienia fansite przez graczy. Dostają mysql więc nie wiem po co dostęp do plików byłby potrzebny. ;p A uwierz, że nie mam ochoty czytać każdego pliku, który mi prześle czy przypadkiem nie zawiera jakiegoś złośliwego kodu czy coś. winksmiley.jpg
erix
Cytat
Jak i co mam zablokować (aby nie blokować niczego dla siebie)

php.ini dla podkatalogu z podstronami.

Poza tym, po co udostępniasz PHP dla użytkowników? Nie lepiej sam system szablonów?
Fifi209
Cytat(erix @ 26.05.2009, 18:14:19 ) *
php.ini dla podkatalogu z podstronami.

Poza tym, po co udostępniasz PHP dla użytkowników? Nie lepiej sam system szablonów?


Mógłbyś rozwinąć swoją myśl? Do tej pory myślałem, że może być tylko jeden php.ini ale widać szybko obaliłeś moją teorię.

Co do PHP, chcę im dać możliwość poprzez moje klasy dostępu do niektórych danych etc.
Równie dobrze mógłbym zainstalować cms'a albo framework'a i bawcie się. ;d
erix
Cytat
Do tej pory myślałem, że może być tylko jeden php.ini ale widać szybko obaliłeś moją teorię.

php.ini dla każdego podfolderu/konta z osobna. Pogooglaj - zależy od rodzaju startowania serwera, etc.

Cytat
Co do PHP, chcę im dać możliwość poprzez moje klasy dostępu do niektórych danych etc.

Jest to do osiągnięcia również przez systemy szablonów. Do Smarty możesz dopisać plugin, w OPT też powinno coś takiego być. Nie dawaj PHP, nie ma sensu. Serwisy z podobną funkcjonalnością do tej przez Ciebie opisanej właśnie tak robią.
Fifi209
Cytat(erix @ 26.05.2009, 18:26:19 ) *
php.ini dla każdego podfolderu/konta z osobna. Pogooglaj - zależy od rodzaju startowania serwera, etc.
Jest to do osiągnięcia również przez systemy szablonów. Do Smarty możesz dopisać plugin, w OPT też powinno coś takiego być. Nie dawaj PHP, nie ma sensu. Serwisy z podobną funkcjonalnością do tej przez Ciebie opisanej właśnie tak robią.


Ale na Fansite szkoda mi serwera na instalowanie czegoś w stylu smarty.

Googlam, googlam. Jedyne co wygooglałem to włączenie safe mode.

Mam paczkę webserv (najnowszą)

Serwer gry stoi na windzie także i strona na windzie stoi... ;d
erix
Cytat
Googlam, googlam. Jedyne co wygooglałem to włączenie safe mode.

Zuo.

Cytat
Ale na Fansite szkoda mi serwera na instalowanie czegoś w stylu smarty.

Czemu? Rozwiązanie jak znalazł, a szablony przecież są i tak prekompilowane.
Fifi209
Cytat(erix @ 26.05.2009, 18:42:37 ) *
Czemu? Rozwiązanie jak znalazł, a szablony przecież są i tak prekompilowane.


Nigdy ich nie używałem, i nie mam zamiaru głowić się potem godzinami jak pomóc kretynowi, który nie umie wyciągnąć dane z mysql. winksmiley.jpg
Poza tym muszę mieć kontrolę, co i kiedy chce wyciągnąć - stąd pomysł zrobienia klasy do tego. winksmiley.jpg
erix
Smarty są popularne, to tym łatwiej będzie...

Cytat
Poza tym muszę mieć kontrolę, co i kiedy chce wyciągnąć - stąd pomysł zrobienia klasy do tego.

A czy ja pisałem o czymś innym? Pisałem, aby wtykę do Smarty napisać i miałbyś to samo - z kontrolą i bez kombinowania jak koń pod górę.
Fifi209
Cytat(erix @ 26.05.2009, 19:38:22 ) *
Smarty są popularne, to tym łatwiej będzie...
A czy ja pisałem o czymś innym? Pisałem, aby wtykę do Smarty napisać i miałbyś to samo - z kontrolą i bez kombinowania jak koń pod górę.


Nigdy się z nimi nie bawiłem, poza tym musiałbym nauczyć pisać wtyczki do smarty. W dodatku uważam, że Ci programiści nie będą grzeszyli wiedzą. ;d
erix
Cytat
Nigdy się z nimi nie bawiłem, poza tym musiałbym nauczyć pisać wtyczki do smarty.

Jeszcze wielu rzeczy będziesz musiał się nauczyć, ja też.

Cytat
W dodatku uważam, że Ci programiści nie będą grzeszyli wiedzą. ;d

No właśnie - a będziesz mógł użyć czegoś a'la {naglowek}, czy {$gracz.punkty} winksmiley.jpg
dr_bonzo
Policz sobie korzysci z wprowadzenia tej funkcjonalnosci stronek dla uzytkownikow i naklad pracy jaki cie czeka, nauke, konfigurowanie, i produkt ktory otrzymaja - wasciwie nic tam nie bedzie dzialac, z tego co piszesz.
Fifi209
Cytat(dr_bonzo @ 26.05.2009, 21:27:30 ) *
Policz sobie korzysci z wprowadzenia tej funkcjonalnosci stronek dla uzytkownikow i naklad pracy jaki cie czeka, nauke, konfigurowanie, i produkt ktory otrzymaja - wasciwie nic tam nie bedzie dzialac, z tego co piszesz.


Naukę? Czego? Skoro nie będę korzystał ze smartów to nie muszę się niczego uczyć.

"wasciwie nic tam nie bedzie dzialac" - Po co im zapisywanie na dysk? Do fansite nie jest to potrzebne uwierz, mysql wystarczy. Otwieranie stron za pomocą curl/file_get_contents ? Żeby zjadało mi łącze? smile.gif
erix
Dostałeś rady, jak zrobić - innych nie dostaniesz, bo
  1. albo nie istnieją
  2. albo są bez sensu
Dziękuję za uwagę, a teraz do kodowania i przestań wymyślać. tongue.gif
rzymek01
Cytat(fifi209 @ 26.05.2009, 22:37:11 ) *
file_get_contents ? Żeby zjadało mi łącze? smile.gif

wyłącz wrapery, bo file_get_contents nie słuzy tylko do pobierania plików z sieci smile.gif

ale ogólnie to skorzystaj z dobrych rad kolegów i użyj smarty (bądź tego typu), wtedy dasz userom możliwość korzystania tylko z stworzonych przez siebie zmiennych, typu {Quake3.ListaSerwerow} albo {CS.IloscZabitychDzisiaj} i wszyscy będą szczęśliwi
Fifi209
Cytat(rzymek01 @ 27.05.2009, 18:34:58 ) *
wyłącz wrapery, bo file_get_contents nie słuzy tylko do pobierania plików z sieci smile.gif


Mówiłem o pobieraniu stron np.

file_get_contents('www.php.pl');

Smarty i smarty. A oni się w tym połapią?
erix
Czy Ty czytasz całe nasze posty, czy tylko kawałki...? Bo po Twoim pytaniu mam prawo sądzić, że czytasz tylko na wyrywki.

Połapią się na pewno bardziej niż w strukturze PHP...
Fifi209
Cytat(erix @ 27.05.2009, 19:25:54 ) *
Czy Ty czytasz całe nasze posty, czy tylko kawałki...? Bo po Twoim pytaniu mam prawo sądzić, że czytasz tylko na wyrywki.

Połapią się na pewno bardziej niż w strukturze PHP...


Czytam całe posty. winksmiley.jpg

To już chyba prościej im CMS'a zainstalować.

Ale jak sam pisałeś, po co strzelać do muchy z armaty.
erix
Cytat
To już chyba prościej im CMS'a zainstalować.

To po chorobę pytałeś...?

Cytat
Ale jak sam pisałeś, po co strzelać do muchy z armaty.

Sam chciałeś dać możliwość tworzenia podstron użytkownikom i blokować coś, czego się zwykle nie blokuje.

Zobacz, jak są skonstruowane strony umożliwiające użytkownikom samodzielne konstruowanie składni - zawsze będzie jakiś system szablonów, czy to autorski, czy inny; nigdy nie jest udostępniana możliwość wklepywania poleceń języka.
rzymek01
@fifi, nie wiem czy dobrze rozumiem twoją idee

masz stronę, na której zalogowana osoba może sobie stworzyć "własną stronkę", a więc ma do dyspozycji pole tekstowe, gdzie wpisuje HTML, a ty mu chcesz dać możliwość korzystania z jakiś zmiennych?
Fifi209
Cytat(rzymek01 @ 27.05.2009, 22:55:38 ) *
@fifi, nie wiem czy dobrze rozumiem twoją idee

masz stronę, na której zalogowana osoba może sobie stworzyć "własną stronkę", a więc ma do dyspozycji pole tekstowe, gdzie wpisuje HTML, a ty mu chcesz dać możliwość korzystania z jakiś zmiennych?


Nie. Zgłasza się do mnie osoba, która chce zrobić fansite do serwera.
Wysyła mi swoje pliczki, ja je przeglądam, wgrywam na serwer. (i tutaj zamiast przeglądać wolałbym blokować niektóre funkcje)
Co do korzystania ze zmiennych, dostaje dostęp do bazy, lecz na fansite dane takie jak użytkownicy obecnie zalogowani etc . mogą się przydać to chciałbym je udostępniać poprzez swoją klasę.
rzymek01
stąd zamiast "pliczków" usera, wpisywali by tylko kod HTML (lub bbcode) + zmienne typu _OBECNIE-ZALOGOWANI_, których spis dasz po boku w jakiejś ramce wraz z wyjasnieniem jak korzystać tongue.gif

takie rozwiązanie jest najbezpieczniejsze dla Ciebie (brak jakiejkolwiek ingerencji do serwera) oraz wygodne dla userów, którzy nie musza znać php, a wystarczą podstawy html :-)


jesli to do Ciebie nie przemawia, to zrób osobny plik php.ini, i tam jest dyrektywa disable_function i disable_classes (czy coś takiego) w której wpisujesz nazwy niedozwolonych funkcji w dodatku dodaj open_basedir na katalog usera (operacje dyskowe ograniczone do tego katalogu) i możesz jeszcze parsować przesłane do ciebie pliki php z automatu, który sprawdzałby "niebezpieczne" wyrażenia
Fifi209
Cytat(rzymek01 @ 28.05.2009, 19:34:04 ) *
jesli to do Ciebie nie przemawia, to zrób osobny plik php.ini, i tam jest dyrektywa disable_function i disable_classes (czy coś takiego) w której wpisujesz nazwy niedozwolonych funkcji w dodatku dodaj open_basedir na katalog usera (operacje dyskowe ograniczone do tego katalogu) i możesz jeszcze parsować przesłane do ciebie pliki php z automatu, który sprawdzałby "niebezpieczne" wyrażenia


Pytam o to jak wyłączyć funkcje a Wy mi podajecie 100 sposobów jak tego nie robić. winksmiley.jpg
Jakby to miało wyglądać ? Jak użytkownik bez php wyświetli np. zalogowanych online, powiedzmy będzie ich 100. Jak wyświetli np. statystyki dla 2 tyś. graczy (przykładowo, może być znacznie więcej) I tak php musi znać...na poziomie przynajmniej podstawowym.

Co do php.ini pisałem, mam webserv'a - odpada na razie *nix i "tamtejszy" apache winksmiley.jpg [bo serwer gry mam .exe]
rzymek01
Cytat(fifi209 @ 28.05.2009, 20:13:52 ) *
Jakby to miało wyglądać ? Jak użytkownik bez php wyświetli np. zalogowanych online, powiedzmy będzie ich 100. Jak wyświetli np. statystyki dla 2 tyś. graczy (przykładowo, może być znacznie więcej) I tak php musi znać...na poziomie przynajmniej podstawowym.

dla danego serwera udostępnisz zestaw zmiennych; przy parsowaniu kodu html i odnalezieniu zamiennika, twój parser go zamieni na dane z mysql
erix
Cytat
Jak użytkownik bez php wyświetli np. zalogowanych online, powiedzmy będzie ich 100. Jak wyświetli np. statystyki dla 2 tyś. graczy (przykładowo, może być znacznie więcej) I tak php musi znać...na poziomie przynajmniej podstawowym.

G... prawda. Poczytaj o Smarty, wtedy pogadamy.

Cytat
Pytam o to jak wyłączyć funkcje a Wy mi podajecie 100 sposobów jak tego nie robić.

Bo Twój pomysł mija się z celem...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.