Skocz do zawartości

Szablony (template) niepotrzebne?


Elf

Rekomendowane odpowiedzi

O co walczycie ?:)

Jako koder mogę dać przecież dostęp do moich plików php grafikowi, ale jedna jego pomyłka i nieszczęście gotowe

Z całym szacunkiem do Ciebie, ale myślałem ze jesteś bardziej zorientowany w temacie

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 60
  • Dodano
  • Ostatniej odpowiedzi

Niestety pisząc to nie dałem rady rozwinąć myśli w sposób możliwy do zrozumienia :D...

Więc chodziło mi o to, że nie widzę w tym różnicy czy grafik dostanie dostęp do plików szablonów tpl z {$zmienna} czy też <?php echo $zmienna; ?> Jak chodzi o błędy i da {zmienna} tak samo będzie błąd jak w wypadku <?php echo zmienna; ?> itd... Chyba, że Miałeś inny rodzaj nieszczęścia na myśli, wiec napisz proszę.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Ja tylko na zakończenie opiszę sytuację jaka mnie dzisiaj spotkała a pięknie pasuje do tematu.

Jakiś miesiąc temu pociąłem szablon który następnie trafił do wspólnego 'wora' w firmie. Zająłem się czymś innym. Tamten projekt kontynuowała inna osoba. Dzisiaj informacja - klient życzy sobie zmienić wygląd kilku podstron więc od programisty zwrot do mnie. I co widzę?

<h2><span><?=$get_item['items_name'];?></span></h2>
<?php if ($get_item['items_desc'] != ''){ ?>
trochę html
<?php } ?>

<?php if ($get_item...
itd

Ponad 700 linii takiego śmietnika. Po 15 minutach wpatrywania się w ekran przy coraz większym ciśnieniu, masie dodanych komentarzy nie byłem w stanie znaleźć początku kilku klamer więc na ślepo przekopiowałem co potrzebowałem. Jakoś działa ale nie mam pojęcia czy się nie posypie zwłaszcza że pracowałem na niepełnych materiałach. Grafik nie zna kompletnie php więc jakakolwiek drobna przeróbka znowu trafi do mnie.

Wszystkim tym którzy opowiadają o niepotrzebnym przelewaniu z wiaderka do wiaderka życzę abyście znaleźli pracę w firmie jako programista i dostali kilka projektów do przeróbki od innego programisty. Jestem ciekaw po ilu wymiękniecie i zmienicie zdanie.

@normanos: To jest temat o wadach/zaletach szablonów a nie modelu MVC.

Odnośnik do komentarza
Udostępnij na innych stronach

Piękny przykład -> dokładnie kulą w płotek...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

@vikingpl

Odwracając kota ogonem... jeśli programista dostanie do przerobienie jakąś aplikacje korzystająca z systemu szablonów chcąc nie chcąc musi go najpierw rozgryźć. Dla w/w osoby kod z szablonu będzie owiele bardziej niejasny niż z kod php z Twojego przykładu...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Faktycznie to kaszanka jest.

Ale dobry informatyk potrafi sobie poradzić bez szablonów i mu taka kaszanka nie wyjdzie.

Jak programista będzie słabo obeznany w tym co robi to nawet choćby pisał w samym html'u może tez zrobić coś nie do rozgryzienia.

CIACH CIACH CIACH

Jeszcze raz i od nowa bo wydaje mi się, że w wątku zostało już ustalone i w zasadzie jest to PEWNE, a te posty krążą w kółko

SZABLONY - czyli oddzielnie "warstwy" html od PHP w zasadzie nie podlega dyskusji - ma być i koniec.

Temat dyskusji sprecyzował się i toczy wokół:

czy używać systemów szablonow?

Odnośnik do komentarza
Udostępnij na innych stronach

{$zmienna} czy też <?php echo $zmienna; ?>

Nie, nie chodziło mi o takie pomyłki !!! Pewnie czytałeś "Allegro pełne dziur! - jak to było?" i wiele by jeszcze wymieniać. W systemie szablonów większość z takich tagów, których głupie niedomknięcie może otworzyć podatność na atak, jest generowana właśnie na podstawie tych zmiennych {$zmienna} czy innych tagów. Funkcje szablonu są napisane bezbłędnie, stąd albo nam się nic nie wyświetli, albo szablon wyświetli w 100% poprawny kod. W analogicznym przypadku w php, aby uzyskać podobny efekt musimy napisać sami taką funkcję lub zaufać naszemu partnerowi itd.

Oczywiście można to zrobić i wiele osób ma taką klasę w swoim frameworku, ale po co mam pisać, skoro lubię gotowca, szczególnie napisanego przez, nie boję się tego określenia, lepszego programistę ode mnie, na dodatek sprawdzonego przez kilku innych. Do tego, w systemie szablonów mogę wyłączyć dostępność funkcji potencjalnie niebezpiecznych, a w gołym php nie, ponownie trzeba dopisywać. Dla mnie to po prostu wygoda, ale ma swoje wady, których jestem świadomy.

Poprawianie po innych to już zupełnie inna bajka. Ja nauczyłem się php, bo... szybciej było nauczyć się podstaw i napisać od nowa, niż poprawić po kimś. Gdy klient się pyta, ile kosztuje przeróbka jego skryptu, a ile napisanie nowego, często druga wersja jest tańsza ;), przynajmniej u mnie.

Dała matka rozum? To kombinuj.

Odnośnik do komentarza
Udostępnij na innych stronach

Jako że kompletnie nie rozumiem o co się klucicie, przepraszam dyskutujecie to odpowiem tylko na poniższe

Nie, nie chodziło mi o takie pomyłki smile.gif Pewnie czytałeś "Allegro pełne dziur! - jak to było?" i wiele by jeszcze wymieniać. W systemie szablonów większość z takich tagów, których głupie niedomknięcie może otworzyć podatność na atak, jest generowana właśnie na podstawie tych zmiennych {$zmienna} czy innych tagów. Funkcje szablonu są napisane bezbłędnie, stąd albo nam się nic nie wyświetli, albo szablon wyświetli w 100% poprawny kod. W analogicznym przypadku w php, aby uzyskać podobny efekt musimy napisać sami taką funkcję lub zaufać naszemu partnerowi itd.

Bzduraaaa, przez duże B. No chyba że ktoś filtruje dane w szablonach o.O

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

Funkcje szablonu są napisane bezbłędnie, stąd albo nam się nic nie wyświetli, albo szablon wyświetli w 100% poprawny kod. W analogicznym przypadku w php, aby uzyskać podobny efekt musimy napisać sami taką funkcję lub zaufać naszemu partnerowi itd.

z całym szacunkiem kpisz waść czy o drogę pytasz ?

Odnośnik do komentarza
Udostępnij na innych stronach

Hellz, ataki na allegro opierają się na wstrzykiwaniu kodu html, js, etc przez adres URL.

Jedyny zabezpieczeniem jest filtracja tego w skrypcie, <?=$this->var?> nie ma nic dotego chyba że będzie to <?=strip_tags($this->var)?> ale to nie powinno być w szablonach.

stopka usunieta z wpoodu wirusa na stronie docelowej

Odnośnik do komentarza
Udostępnij na innych stronach

z całym szacunkiem kpisz waść czy o drogę pytasz ?
Nie, piszę całkiem serio. Funkcje szablonu nie wyrzucą np. niedomkniętego taga, bo takie błędy się tam nie pojawią. Jakbyś uważnie przeczytał cytowany artykuł, to byś wiedział o co chodzi.
Raz - atrybuty znaczników powinny być otoczone cudzysłowami. Trzeba pamiętać, że nie chodzi tu tylko o kosmetykę, ale także bezpieczeństwo. Gdyby były, to nawet fakt, że występowała luka XSS, nie dało by się jej wykorzystać

Chodzi mi dokładnie o ten fragment całego artykułu. Wykorzystanie odpowiedniej funkcji szablonu spowoduje, że znaczniki na pewno będą otoczone cudzysłowami.

Pragnę wam tylko uświadomić, że błąd w kodzie html może znacznie osłabić bezpieczeństwo aplikacji i nie chodzi tu już o sam mechanizm skryptu, natomiast przy korzystaniu z szablonów mamy o wiele niższe prawdopodobieństwo popełnienia takowego.

Dała matka rozum? To kombinuj.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności