adamantd
2.03.2013, 13:15:38
Witam!
Stanąłem przed ciężkim zadaniem, ponieważ w moim projekcie został do zrobienia jeszcze tylko panel admina (możliwość usuwania, edycji postów, komentarzy, usuwanie niechcianej treści, zdjęć, dodawanie treści, powiadomień dla userów, banowanie userów itd itd) oczywiście dostępne tylko dla admina -jeszcze nigdy nie robiłem takiego zaawansowanego (1 x robiłem dość prosty ale to inna bajka)
Każdy Panel admina jest indywidualny i pisany pod daną stronę -ogólnie powinienem sobie poradzić ale w związku z tym mam kilka pytań skierowanych do tych którzy mają za sobą panele administracyjne albo jakieś doświadczenie w tej kwestii:
1. Czy dla administratora utworzyć osobną tabelę w bazie danych? (Kiedyś wg mnie da to możliwość udostępnienia panelu innym osobom zarządzającym treścią ale np. z ograniczonym dostępem)
2. Czy logowanie do panelu admina zrobić w zupełnie osobnym pliku schowanym dodatkowo do jakiegoś folderu? (gdzieś kiedyś coś takiego czytałem ale nie wiem czy ma to jakiś sens) -jeśli tak to dlaczego plik ze skryptem panelu admina nie może być w śród innych plików na serwerze?
3. Czy podczas sprawdzania poprawności danych podczas logowania się do PA są jakieś dodatkowe techniki zabezpieczeń?
4. Czy macie jakieś sugestie związane z budową takiego panelu? Ewentualnie prosiłbym o jakieś linki poruszające ten temat (jak szukam sam to znajduję głównie opis działania panelu w WordPresie a on mnie nie interesuje)
Z góry dzięki wszystkim za odpowiedzi
Cytat
1. Czy dla administratora utworzyć osobną tabelę w bazie danych? (Kiedyś wg mnie da to możliwość udostępnienia panelu innym osobom zarządzającym treścią ale np. z ograniczonym dostępem)
Zainteresuj się czymś takim jak ACL (Access Control List).
Cytat
2. Czy logowanie do panelu admina zrobić w zupełnie osobnym pliku schowanym dodatkowo do jakiegoś folderu? (gdzieś kiedyś coś takiego czytałem ale nie wiem czy ma to jakiś sens) -jeśli tak to dlaczego plik ze skryptem panelu admina nie może być w śród innych plików na serwerze?
Jak masz ACL to bez znaczenia. Pliki zarządzając aplikacją powinny być poza katalogiem public_html
Cytat
3. Czy podczas sprawdzania poprawności danych podczas logowania się do PA są jakieś dodatkowe techniki zabezpieczeń?
W jakim sensie?
Cytat
4. Czy macie jakieś sugestie związane z budową takiego panelu? Ewentualni prosiłby o jakieś linki poruszające ten temat (jak szukam sam to znajduję głównie opis działania panelu w WordPresie a on mnie nie interesuje)
Panel to nic innego jak skrypt php, a ten zawsze musi być zabezpieczony, przefiltrowany itd.
adamantd
2.03.2013, 13:23:05
Co do zabezp. podczas spr. log.:
sprawdzając czy dane poprawne oczyszczam dane wejściowe i porównuje je z danymi z bazy danych, zapisuje do sesji różnego rodzaju parametry (to przy normalnych użytkownikach serwisu) -w przypadku panelu admina jest jakaś różnica ?
Nie. Wszystko musisz filtrować tak samo dobrze.
adamantd
2.03.2013, 13:59:15
Ok dzięki a powiedz mi czy orientujesz się czy Ci od kursów EduWeb mają dobry ten kurs "Własny Cms"? Czytałem o nim i nie zapowiada się źle ale znajoma miała kiedyś styczność z jakimś ich kursem chyba PHP 5 i mówiła, że słabizna.. Czy w ogóle jest sens zaopatrzenia się w coś takiego czy atakować samemu od podstaw ten temat? Łącznie z wrzuceniem WYSIWYG jako jednej z możliwości ułatwiających edycję np artykułów?
Cytat(adamantd @ 2.03.2013, 13:59:15 )

Czy w ogóle jest sens zaopatrzenia się w coś takiego
Wszystkie kursy (te płatne) mają za zadanie nabić kogoś w butelkę, a nie czegoś nauczyć. Jaką masz gwarancję że autor tego kursu ma wystarczającą wiedzę w temacie?
Poza tym po co wyrzucać pieniądze, skoro wszytko masz za darmo w google?
Przejrzyj to forum, było kilka tematów o panelach administracyjnych, CMSach... w nich były też linki do artów.
wNogachSpisz
2.03.2013, 14:21:57
W jakim frameworku jest Twój projekt? Dla CodeIgnitera jest np. CIbonfire.
adamantd
2.03.2013, 14:57:13
@wNogachSpisz:
Nie opierałem projektu na frameworku..
Co do tych płatnych kursów dlatego właśnie zapytałem bo nie uśmiecha mi się wydawać na coś co nie wniesie wiele więcej w moje życie niż wiedza z internetu. Generalnie takiej odpowiedzi oczekiwałem
dzięki
edit:
Mam jeszcze jedno pytanie takie chyba dość proste ale nie chcę popełniać błędów już na wstępie pisania PA
-czy wszystko co związane z PA wczytywać normalnie do index.php czy stworzyć osobny plik do którego będę wszystko wczytywał np. coś w rodzaju admin.php?
-czy to ma jakieś znaczenie? (np. można później w pliku robots.txt zaznaczyć, żeby plik admin.php nie był indeksowany)
ShadowD
2.03.2013, 15:20:10
Polecał bym użyć jakiegoś frameworka, pisanie większego panelu bez narzędzi które Ci pomoga to masochizm. :/
Polecma zend'a i Symfony, ew. startujący phalcon - do wyboru, cała reszta wedle mojego gustu nie ma porównania do powyższych.
dzastin
2.03.2013, 15:21:21
Jeżeli już chcesz coś pisać, to nie pisz wszystkiego w jednym pliku.. Poczytaj trochę o wzorcach, np. MVC, użyj czegoś do template'ów, np. smarty. Najlepiej użyj jakiegoś frameworka, np. zenda
adamantd
2.03.2013, 15:25:57
Tylko pytanie czy czas który poświęcę na naukę np. Zenda + później utworzenie panelu admina korzystając z możliwości tego frameworka nie zajmie mi 3 razy dłużej niż napisanie wszystkiego samemu
ShadowD
2.03.2013, 15:30:52
Pewnie i zajmie, ale bierz pod uwagę że jeśli chcesz zostać programistą to i tak czeka Cie nauka jakiegoś fw szczególnie że one uporządkują Twoje umiejętności oop narzucają pewne normy, a czas jaki stracisz do czasu nauki (co i tak kiedyś się stanie) to czas zmarnowany. ;-)
Piszę o fw licząc że masz podstawy php i op, w innym przypadku lepiej się nie brać za tego kobyły.
wNogachSpisz
2.03.2013, 15:32:53
Na zendzie nie zrobił bym projektu chocby mnie przypalali, zbyt zamulony i niestabilny.
W temacie piszesz ze chcesz sugestii, oto ona - zacznij od frameworka, codeigniter albo laravel.
adamantd
2.03.2013, 15:45:47
Ok wiem, że kiedyś czeka mnie nauka fw, ponieważ to naturalna kolej rzeczy.
@ShadowD
piszę obiektowo cały czas bo struktura to się nadaje co najwyżej do stronki dla fryzjerek (wyślij maila itp) a czy piszę dobrze czy bardzo dobrze czy tylko średnio (a może słabo) nie wiem, ponieważ nie miałem jeszcze do kogo porównać ale ważne że sam potrafię się odnaleźć w swoim kodzie

wiem, że framework narzuci mi pewien styl programowania, póki co mam własny, być może nie najlepszy ale jak napisałem wyżej dla mnie czytelny -choć wypadałoby dołączyć w końcu do grona profesjonalistów ale do tego jeszcze sporo linijek kodu przede mną.
@wNogachSpisz
polecasz frameworki codeigniter albo laravel na początek a negujesz Zenda a co z owianą sławą Kohaną? Nie będę miał problemu z ogarnięciem obszernego i przeładowanego frameworka więc mogę zacząć od czegoś poważnego tylko pytanie który konkretnie?
p.s. -przyznam szczerze, że próbowałem kiedyś zacząć naukę Zenda -ale jak zobaczyłem ile jest konfigurowania na komputerze, żeby to wszystko ruszyło to odpuściłem
edit:
po za tym miałem nadzieję, że moja stronka ruszy do 2 tygodni a jak zacznę najpierw od nauki fw zamiast ją dokończyć (został tylko panel i pare graficznych pierdół) to pewnie nie skończę jej za miesiąc hehe
ShadowD
2.03.2013, 16:30:14
Jak Ci się nie śpieszy to polecał bym fw. ;-)
Osobiści zaczynałem od Zend'a jedynki, było ok do czasu wyjścia bety 2 która mi nie przypadał do gustu i zacząłem szukać czego innego - tutaj miałem przeprawę kilkudniową po kilku fw. W między czasie dostałem pracę, w firmie obowiązkowa była kohana - musiałem się przesiąść z Zend'a na to coś, niestety pałam nienawiścią do tego frameworka, po prostu w poruwaniu do Zend'a mam wrażenie że wszędzie robi się śmietnik i nie wszystko działa tak jak bym chciał. W firmie migrowaliśmy próbnie na phalcon'a (tworzymy jakąś tam dużą grę) narzędzie jest genialne i bardzo szybkie - jego źródła są skompilowane do C, aczkolwiek domaga jeszcze dopracowania (jest w becie). Osobiście i finalnie na obecną chwilę przesiadłem się na Symfony i tutaj zamierzam zostać, już wiem że w firmie następny projekt będzie też na SF, choć nie powiem tak jak i Zend jest to kobyła - najlepiej popatrz na dokumentację kilka fw i weź to Co Ci będzie odpowiadać w większości przypadków to preferencje jednostki mają znaczenie a kohana, zend czy symfony to i tak ogrom plusów. ;-)
adamantd
2.03.2013, 16:58:08
Myślę, że spróbuję zacząć od Symfony, ale jednak po namyśle zacznę naukę fw jednak po skończeniu swojego projektu. Pisałem ją kilka miesięcy i chcę w końcu skończyć a został tylko ten panel. Jak się zajmę fw teraz to zaraz się okaże, że będę chciał przerobić połowę skryptów (albo wszystkie). Niech one sobie są nieoparte o fw i panel też zrobię w taki sposób.
Strona nie jest oparta na wzorcu MVC dlatego pojawiło się jedno z pytań powyżej, czy panel admina też wczytywać do index.php czy stworzyć inny plik specjalnie dla panelu. Gdyby wszystko było oparte o MVC z pewnością nie było by tego problemu. Teraz nie przerobię całej strony tak, żeby była napisana zgodnie z tym wzorcem, ponieważ musiałbym ją napisać prawie że od nowa. Kolejna strona, którą mam w planach będzie już na pewno oparta o MVC i pisana w fw. Ale po kolei, niech ta zacznie działać.
Dlatego muszę ponowić pytanie "Czy wczytywać panel do innego nowego pliku w katalogu publicznym czy wczytywać go do index.php"?
wNogachSpisz
2.03.2013, 17:45:19
Symfony nie jest złe, ale na początek stanowczo za ciężkie. Na początek wybierz między codeigniter a laravel. Poczujesz smak activeRecord i już nigdy nie zatęsknisz za pisaniem kodu SQL ręcznie
ShadowD
2.03.2013, 17:49:26
Zrób nowy plik admin.php - czym mniej zależności tym lepiej w takich projektach, chyba ze ma się jakiś routing (i frontcontroller) którego jak rozumiem taczaj nie masz. ;-)
adamantd
2.03.2013, 17:59:50
Nie mam

Już wszystko chyba wiem -czas zacząć pisanie
Dzięki za wszystkie odpowiedzi
p.s. -zanim zajmę się fw jeszcze chwila minie więc zdążę wybrać coś na początek, choć nie przeraża mnie, że coś jest ciężkie, wszystko jest do ogarnięcia -trzeba tylko chcieć dlatego pewnie będzie to jednak Symfony i pewnie poruszę jeszcze nie jeden wątek na ten temat, ponieważ instalacja tego to jakiś koszmar i w dodatku nigdzie nie można znaleźć niczego "krok po kroku" w jednym artykule, i zamiast siedzieć nad czymś godzinę schodzi tydzień
ShadowD
2.03.2013, 18:04:24
Odezwij się do mnie na gg (w profilu) z chęcią pomogę Ci z Symfony - w kwestii instalacji servera na localu i konfiguracji tak by symfony nie miało do czego się przyczepić - miałem z tym duży problem kiedyś, co gotowa paczka to inne problemy i braki w ext, a pear to jakaś masakra, ale się udało i mogę pomóc. ;-)
adamantd
2.03.2013, 18:13:09
Ok dzięki

będę pamiętał o tym na pewno -to będzie pewnie za jakiś miesiąc choć może uwinę się ze wszystkim szybciej, po wrzuceniu strony na serwer jeszcze kupa roboty przy niej (jak ktoś wytłumaczy taką instalację to zawsze jest lepiej) kiedyś wziąłem kilka godzin korepetycji z phpa -inna bajka zupełnie, koleżka tłumaczy jedną kwestię w kilku zdaniach a człowiek sam szukałby tego w necie przez pół dnia i jeszcze nie wiedział czy znalazł to co trzeba
Pozdrawiam
wNogachSpisz
2.03.2013, 18:41:45
Cytat(adamantd @ 2.03.2013, 17:59:50 )

(...) nie przeraża mnie, że coś jest ciężkie, wszystko jest do ogarnięcia -trzeba tylko chcieć (..) będzie to jednak Symfony
Symfony jest ciężkie na dwóch płaszyczycnach.
1. ma dużo logiki/opcji/modulów
2. wolno chodzi
Cytat
Na zendzie nie zrobił bym projektu chocby mnie przypalali, zbyt zamulony i niestabilny.
To ma sens

Jak już piszesz to bez FW, to skończ to bez FW. I pochwal się efektem końcowym w dziale oceny
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.