<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Dlaczego systemy szablonowe są ważne</title>
	<atom:link href="http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/feed/" rel="self" type="application/rss+xml" />
	<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/</link>
	<description>Geek in the Shell: Redesigning the Web</description>
	<pubDate>Mon, 01 Dec 2008 19:53:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: carstein</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4747</link>
		<dc:creator>carstein</dc:creator>
		<pubDate>Mon, 18 Sep 2006 14:15:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4747</guid>
		<description>Patrys:
Ja mam nieco inną klasyfikację powieszoną na ścianie w takim razie :)

XSS rozróżniam od RCE ponieważ w pierszym przypadku narażone jest wyłącznie (jeśli mówimy o HTML/JS injection) bezpieczeństwo klientów serwisu, natomiast atak RCE ukierunkowany jest bardziej na sam site.</description>
		<content:encoded><![CDATA[<p>Patrys:<br />
Ja mam nieco inną klasyfikację powieszoną na ścianie w takim razie :)</p>
<p>XSS rozróżniam od RCE ponieważ w pierszym przypadku narażone jest wyłącznie (jeśli mówimy o HTML/JS injection) bezpieczeństwo klientów serwisu, natomiast atak RCE ukierunkowany jest bardziej na sam site.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrys</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4744</link>
		<dc:creator>Patrys</dc:creator>
		<pubDate>Mon, 18 Sep 2006 10:56:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4744</guid>
		<description>Nigdzie nie napisałem, że każdy ma używać akurat Smartów.

carstein:

Mnie tam uczyli na bezpieczeństwie systemów, że ataki typu RCE zaliczają się do XSS (nie tylko JS/HTML injection).

Elus:

&lt;blockquote&gt;Chyba że w tym wszystkim chodzi o ograniczone zaufanie do webmastera-designera. Tzn dajemy mu jezyk szablonowy o bardziej ograniczonej (aczkolwiek w zupełności wystarczającej) gramatyce, tak by niczego “nie popsuł”. Z tego jednak co widzę wiekszość systemów szablonowych zostawia w tej kwestii otwartą furtkę (w przypadku szablonu Smarty jest to np. tag {php}).&lt;/blockquote&gt;

Chodzi głównie o to. Tag {php} w Smarty wyłącza się jedną linijką w konfiguracji tegoż. Właśnie dlatego, żeby nikt tam ani kawałka kodu nie mógł wstawić.

&lt;blockquote&gt;Nie bardzo rozumiem też akapitu o atakach XSS i tym podobych. Przecież tego typu ataki wynikają ze złej konstrukcji kontrolera (w przeciwnym razie nie można mówić o dobrym rozdzieleniu warstw modelu MVC).&lt;/blockquote&gt;

A co powstrzyma pana Stefana przed napisaniem &lt;code&gt;include($_GET['plik']);&lt;/code&gt;?</description>
		<content:encoded><![CDATA[<p>Nigdzie nie napisałem, że każdy ma używać akurat Smartów.</p>
<p>carstein:</p>
<p>Mnie tam uczyli na bezpieczeństwie systemów, że ataki typu RCE zaliczają się do XSS (nie tylko JS/HTML injection).</p>
<p>Elus:</p>
<blockquote><p>Chyba że w tym wszystkim chodzi o ograniczone zaufanie do webmastera-designera. Tzn dajemy mu jezyk szablonowy o bardziej ograniczonej (aczkolwiek w zupełności wystarczającej) gramatyce, tak by niczego “nie popsuł”. Z tego jednak co widzę wiekszość systemów szablonowych zostawia w tej kwestii otwartą furtkę (w przypadku szablonu Smarty jest to np. tag {php}).</p></blockquote>
<p>Chodzi głównie o to. Tag {php} w Smarty wyłącza się jedną linijką w konfiguracji tegoż. Właśnie dlatego, żeby nikt tam ani kawałka kodu nie mógł wstawić.</p>
<blockquote><p>Nie bardzo rozumiem też akapitu o atakach XSS i tym podobych. Przecież tego typu ataki wynikają ze złej konstrukcji kontrolera (w przeciwnym razie nie można mówić o dobrym rozdzieleniu warstw modelu MVC).</p></blockquote>
<p>A co powstrzyma pana Stefana przed napisaniem <code>include($_GET['plik']);</code>?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Elus</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4739</link>
		<dc:creator>Elus</dc:creator>
		<pubDate>Sun, 17 Sep 2006 20:58:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4739</guid>
		<description>Nie znalazłem w Twojej wypowiedzi ani jednego argumentu dlaczego Smarty (i inne systemy szablonów) lepiej sprawdzają się w warstwie widoku niż czyste php. Jakieś historie o empiku, licznikach i rozdzieleniu pracy pomiędzy programistów i webmasterów-designerów. Ok. Ale tak naprawdę to nie znaduję w tym wszystkim potwierdzenia Twojej tezy.

Argumentem na pewno nie jest to ze da sie Smarty nauczyć w przeciągu doby. Śmiem twierdzić, że żeby nauczyć się podstaw PHP w stopniu wystarczającym do zbudowaniu w oparciu o niego szablon wystarczy jeszcze mniej czasu. Zwłaszcza dla webmastera-designera, który w większości przypadków zna konstrukcję zwykłej pętli np. z JavaScript. Do  zbudowania samego szablonu nie trzeba przecież znajomości żadnych złożonych konstrukcji językowych/programistycznych. Mimo wszystko myśle że taki {section} jest o wiele bardziej skomplikowany niż zwykły for.

Chyba że w tym wszystkim chodzi o ograniczone zaufanie do webmastera-designera. Tzn dajemy mu jezyk szablonowy o bardziej ograniczonej (aczkolwiek w zupełności wystarczającej) gramatyce, tak by niczego "nie popsuł". Z tego jednak co widzę wiekszość systemów szablonowych zostawia w tej kwestii otwartą furtkę (w przypadku szablonu Smarty jest to np. tag {php}).

Nie bardzo rozumiem też akapitu o atakach XSS i tym podobych. Przecież tego typu ataki wynikają ze złej konstrukcji kontrolera (w przeciwnym razie nie można mówić o dobrym rozdzieleniu warstw modelu MVC).

Choć nie uważam się za programistę PHP to ostatnio miałem okazję pracować na takim właśnie stanowisku. Popełniłem też kilka szablonów w oparciu o Smarty. I teraz z perspektywy czasu zastanawiam się, czy faktycznie dało mi to taką wygodę i korzyści o jakich się poprzednio nasłuchałem.</description>
		<content:encoded><![CDATA[<p>Nie znalazłem w Twojej wypowiedzi ani jednego argumentu dlaczego Smarty (i inne systemy szablonów) lepiej sprawdzają się w warstwie widoku niż czyste php. Jakieś historie o empiku, licznikach i rozdzieleniu pracy pomiędzy programistów i webmasterów-designerów. Ok. Ale tak naprawdę to nie znaduję w tym wszystkim potwierdzenia Twojej tezy.</p>
<p>Argumentem na pewno nie jest to ze da sie Smarty nauczyć w przeciągu doby. Śmiem twierdzić, że żeby nauczyć się podstaw PHP w stopniu wystarczającym do zbudowaniu w oparciu o niego szablon wystarczy jeszcze mniej czasu. Zwłaszcza dla webmastera-designera, który w większości przypadków zna konstrukcję zwykłej pętli np. z JavaScript. Do  zbudowania samego szablonu nie trzeba przecież znajomości żadnych złożonych konstrukcji językowych/programistycznych. Mimo wszystko myśle że taki {section} jest o wiele bardziej skomplikowany niż zwykły for.</p>
<p>Chyba że w tym wszystkim chodzi o ograniczone zaufanie do webmastera-designera. Tzn dajemy mu jezyk szablonowy o bardziej ograniczonej (aczkolwiek w zupełności wystarczającej) gramatyce, tak by niczego &#8220;nie popsuł&#8221;. Z tego jednak co widzę wiekszość systemów szablonowych zostawia w tej kwestii otwartą furtkę (w przypadku szablonu Smarty jest to np. tag {php}).</p>
<p>Nie bardzo rozumiem też akapitu o atakach XSS i tym podobych. Przecież tego typu ataki wynikają ze złej konstrukcji kontrolera (w przeciwnym razie nie można mówić o dobrym rozdzieleniu warstw modelu MVC).</p>
<p>Choć nie uważam się za programistę PHP to ostatnio miałem okazję pracować na takim właśnie stanowisku. Popełniłem też kilka szablonów w oparciu o Smarty. I teraz z perspektywy czasu zastanawiam się, czy faktycznie dało mi to taką wygodę i korzyści o jakich się poprzednio nasłuchałem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stan</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4737</link>
		<dc:creator>stan</dc:creator>
		<pubDate>Sun, 17 Sep 2006 18:11:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4737</guid>
		<description>nie jestem większym programistą, jednak na podstawach języków programowania się znam.

uważam, że jeżeli jest projekt który wymaga szybkiego wykonania, a magiczny deadline się zbliża. to rzeczywiście szablony są jak najbardziej przydatne. po pierwsze dlatego, że są sprawdzone, a po drugie nie trzeba wynajdywać koła od nowa.

z drugiej jednak strony, myślę, że jeżeli zajmujemy się swoim autorskim projektem, i chcemy aby wszystko grało - należy cały kod znać, i często ważne jest ,że to nasz kod - więc wiemy co gdzie jest, i ew. co mogliśmy źle zrobić. jednak problemem jest to, że gdy większa ilość osób pracuje przy naszym kodzie(a nie jest robiony obiektowo) to potem szybko można się pogubić.

jak napisałeś - wszystko zależy od klienta i zapotrzebowania.</description>
		<content:encoded><![CDATA[<p>nie jestem większym programistą, jednak na podstawach języków programowania się znam.</p>
<p>uważam, że jeżeli jest projekt który wymaga szybkiego wykonania, a magiczny deadline się zbliża. to rzeczywiście szablony są jak najbardziej przydatne. po pierwsze dlatego, że są sprawdzone, a po drugie nie trzeba wynajdywać koła od nowa.</p>
<p>z drugiej jednak strony, myślę, że jeżeli zajmujemy się swoim autorskim projektem, i chcemy aby wszystko grało - należy cały kod znać, i często ważne jest ,że to nasz kod - więc wiemy co gdzie jest, i ew. co mogliśmy źle zrobić. jednak problemem jest to, że gdy większa ilość osób pracuje przy naszym kodzie(a nie jest robiony obiektowo) to potem szybko można się pogubić.</p>
<p>jak napisałeś - wszystko zależy od klienta i zapotrzebowania.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: carstein</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4736</link>
		<dc:creator>carstein</dc:creator>
		<pubDate>Sun, 17 Sep 2006 17:42:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4736</guid>
		<description>Taka mała uwaga - ślepe includowanie pliku, który trafia przez GETa albo POSTa powoduje jednak o wiele bardziej groźne Remote Code Execution (przy włączonym fopen rzecz jasna). W tym wypadku XSS to tylko taka wisienka na torcie.</description>
		<content:encoded><![CDATA[<p>Taka mała uwaga - ślepe includowanie pliku, który trafia przez GETa albo POSTa powoduje jednak o wiele bardziej groźne Remote Code Execution (przy włączonym fopen rzecz jasna). W tym wypadku XSS to tylko taka wisienka na torcie.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jpc</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4735</link>
		<dc:creator>jpc</dc:creator>
		<pubDate>Sun, 17 Sep 2006 15:16:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4735</guid>
		<description>Oczywiście, żeby uzywać młotka (PHP) musimy znać metalugię i materiałoznawstwo (techniki obiektowe), więc uzywajmy elektronicznej wbijarki do gwoździ (Smarty).
Z całą resztą się oczywiście zgadzam, ale to już wiesz, bo przecież ja byłem tym ostatnim z wielu ludzi, którzy się Ciebie pytali. ;]</description>
		<content:encoded><![CDATA[<p>Oczywiście, żeby uzywać młotka (PHP) musimy znać metalugię i materiałoznawstwo (techniki obiektowe), więc uzywajmy elektronicznej wbijarki do gwoździ (Smarty).<br />
Z całą resztą się oczywiście zgadzam, ale to już wiesz, bo przecież ja byłem tym ostatnim z wielu ludzi, którzy się Ciebie pytali. ;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrys</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4734</link>
		<dc:creator>Patrys</dc:creator>
		<pubDate>Sun, 17 Sep 2006 14:41:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4734</guid>
		<description>NuLL:

Ale Smarty działa bez problemu z aplikacjami PHP5. PHP4 nie używamy i nie chodzi mi tylko o numerek :)</description>
		<content:encoded><![CDATA[<p>NuLL:</p>
<p>Ale Smarty działa bez problemu z aplikacjami PHP5. PHP4 nie używamy i nie chodzi mi tylko o numerek :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NuLL</title>
		<link>http://room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4729</link>
		<dc:creator>NuLL</dc:creator>
		<pubDate>Sun, 17 Sep 2006 14:32:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.room-303.com/blog/2006/09/17/dlaczego-systemy-szablonowe-sa-wazne/#comment-4729</guid>
		<description>SMARTY - powolnosc, krowowatosc i PHP4. Pozatym ta dziwaczna składnia. Kiedyś S wykorzystywalem w kazdym projekcie - teraz dla kazdego projektu szukam alternatywy dla niego. Co do systemow szablonowych - zgadzam sie, ze sa potrzebne na kazdym kroku :-)</description>
		<content:encoded><![CDATA[<p>SMARTY - powolnosc, krowowatosc i PHP4. Pozatym ta dziwaczna składnia. Kiedyś S wykorzystywalem w kazdym projekcie - teraz dla kazdego projektu szukam alternatywy dla niego. Co do systemow szablonowych - zgadzam sie, ze sa potrzebne na kazdym kroku :-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 3.598 seconds -->
