<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии к записи: Как написать свой движок блога, часть 2. Авторизация в админке.</title>
	<atom:link href="http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/feed" rel="self" type="application/rss+xml" />
	<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html</link>
	<description>программирование сайтов и скриптов</description>
	<lastBuildDate>Sun, 05 Feb 2012 13:44:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Автор: mebadboy</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-38895</link>
		<dc:creator>mebadboy</dc:creator>
		<pubDate>Mon, 22 Feb 2010 18:44:13 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-38895</guid>
		<description>Имею некий опыт написания прэктов на php. Довольно много ковырялся в различных cms, кодил сам. В данный момент пишу движок блога для своего сайта. Автору респект за начинание. Тем не менее, не могу не согласиться с критикой. Есть множество книг (не все в электронке - зайдите в книжный и спросите php+mysql для начинающих), в которых приведены примеры движков. В тч блогов. Примеры учебные. В них никакие проверки не реализуются. Если автор хочет создать действительно полезный цикл статей, я бы советовал ему сразу писать безопасный код с объяснением почему это должно быть именно так, или хотя бы со ссылками на описание способа атаки. Ничего подобного гугл по моим запросам не выплюнул. Либо там был кривой код, который только введёт новичка в заблуждение. Я бы сам не взялся писать подобную статью, хотя идея была. Очень хотелось бы увидеть продолжение цикла статей, особенно с учётом моего пожелания.

А на тему того, чтобы предлагать заказчику потом доплатить за безопасность проэкта... Если по-честному, то неплохо было бы предлагать сразу 2 варианта различные по стоимости: безопасный и небезопасный, но тогда будет сложно объяснить, почему ваш безопасный вариант дороже варианта Васи Пупкина, который клянётся в идеальности своего кода. Вобщем, я считаю, что это не самый лучший вариант. Особенно для фрилансера. Выпуск сырого кода, как конечного продукта, может подорвать вашу репутацию, и с вами просто не захотят потом работать. Впрочем, это всё уже философия. А так... ждём статьи - интересно. Может и я для себя узнаю что-то новое, увижу оригинальную идею.</description>
		<content:encoded><![CDATA[<p>Имею некий опыт написания прэктов на php. Довольно много ковырялся в различных cms, кодил сам. В данный момент пишу движок блога для своего сайта. Автору респект за начинание. Тем не менее, не могу не согласиться с критикой. Есть множество книг (не все в электронке &#8211; зайдите в книжный и спросите php+mysql для начинающих), в которых приведены примеры движков. В тч блогов. Примеры учебные. В них никакие проверки не реализуются. Если автор хочет создать действительно полезный цикл статей, я бы советовал ему сразу писать безопасный код с объяснением почему это должно быть именно так, или хотя бы со ссылками на описание способа атаки. Ничего подобного гугл по моим запросам не выплюнул. Либо там был кривой код, который только введёт новичка в заблуждение. Я бы сам не взялся писать подобную статью, хотя идея была. Очень хотелось бы увидеть продолжение цикла статей, особенно с учётом моего пожелания.</p>
<p>А на тему того, чтобы предлагать заказчику потом доплатить за безопасность проэкта&#8230; Если по-честному, то неплохо было бы предлагать сразу 2 варианта различные по стоимости: безопасный и небезопасный, но тогда будет сложно объяснить, почему ваш безопасный вариант дороже варианта Васи Пупкина, который клянётся в идеальности своего кода. Вобщем, я считаю, что это не самый лучший вариант. Особенно для фрилансера. Выпуск сырого кода, как конечного продукта, может подорвать вашу репутацию, и с вами просто не захотят потом работать. Впрочем, это всё уже философия. А так&#8230; ждём статьи &#8211; интересно. Может и я для себя узнаю что-то новое, увижу оригинальную идею.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Алексей</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-38415</link>
		<dc:creator>Алексей</dc:creator>
		<pubDate>Thu, 11 Feb 2010 06:34:41 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-38415</guid>
		<description>В принципе, я согласен с Юрием. Пусть те профи, которые так горазды критиковать чужую работу, пишут свои мануалы по созданию движков. В конце концов, всё это пишется НЕ ДЛЯ НИХ. А для простых начинающих пользователей. :) Все, кому действительно интересно, вполне смогут найти недостатки и исправить их самостоятельно. С нетерпением жду продолжения.</description>
		<content:encoded><![CDATA[<p>В принципе, я согласен с Юрием. Пусть те профи, которые так горазды критиковать чужую работу, пишут свои мануалы по созданию движков. В конце концов, всё это пишется НЕ ДЛЯ НИХ. А для простых начинающих пользователей. :) Все, кому действительно интересно, вполне смогут найти недостатки и исправить их самостоятельно. С нетерпением жду продолжения.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: GEk</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-37498</link>
		<dc:creator>GEk</dc:creator>
		<pubDate>Sun, 10 Jan 2010 14:26:27 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-37498</guid>
		<description>АВТОР!!! СЛЫШИШ МЕНЯ???? АВТОР!!!!! 
ЕСЛИ ТЫ НЕ ПРОДОЛЖИШ ПИСАТЬ Эту СТАТЬЮ, Я ПОКОНЧКУ ЖИЗНЬ 
САМОУБИЙСТВОМ, И ТЫ БУДЕШ В ЭТОМ ВИНОВАт!!!
ДОПИШИ ПЛИЗ!</description>
		<content:encoded><![CDATA[<p>АВТОР!!! СЛЫШИШ МЕНЯ???? АВТОР!!!!!<br />
ЕСЛИ ТЫ НЕ ПРОДОЛЖИШ ПИСАТЬ Эту СТАТЬЮ, Я ПОКОНЧКУ ЖИЗНЬ<br />
САМОУБИЙСТВОМ, И ТЫ БУДЕШ В ЭТОМ ВИНОВАт!!!<br />
ДОПИШИ ПЛИЗ!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: SteaN</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-35824</link>
		<dc:creator>SteaN</dc:creator>
		<pubDate>Wed, 25 Nov 2009 04:28:48 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-35824</guid>
		<description>:wink: C П А С И Б О - Б О Л Ь Ш О Е!!!
Я ещё года пол назад читал, стать нужная, DimoninG ты реально многим помог этой статьёй, и давай как говориться не выламывайся продолжай писать, я работаю дизайнером сам на себя, разные cms, скрипты, суть понимаю, но особо что то изучать времени нету.  :sad: 

На счёт умников, это задротня (хуесосы)извиняюсь за маты!
Обсирать одно а помогать начинающим это другое, я тоже могу не прочитавши статью обосрать по самое не могу, но я уважаю труд! Короче поддерживаю DimoninG мужик давай ЗА РУСЬ продолжай, я всегда посылаю, критиков открытым текстом на хуй, поверь благодарных тебе намного больше, 90% кто это читал, так что давай я блин пол года ожидаю, :lol:  продолжения банкета!  :smile:</description>
		<content:encoded><![CDATA[<p>:wink: C П А С И Б О &#8211; Б О Л Ь Ш О Е!!!<br />
Я ещё года пол назад читал, стать нужная, DimoninG ты реально многим помог этой статьёй, и давай как говориться не выламывайся продолжай писать, я работаю дизайнером сам на себя, разные cms, скрипты, суть понимаю, но особо что то изучать времени нету.  :sad: </p>
<p>На счёт умников, это задротня (хуесосы)извиняюсь за маты!<br />
Обсирать одно а помогать начинающим это другое, я тоже могу не прочитавши статью обосрать по самое не могу, но я уважаю труд! Короче поддерживаю DimoninG мужик давай ЗА РУСЬ продолжай, я всегда посылаю, критиков открытым текстом на хуй, поверь благодарных тебе намного больше, 90% кто это читал, так что давай я блин пол года ожидаю, :lol:  продолжения банкета!  :smile:</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Стас</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-35407</link>
		<dc:creator>Стас</dc:creator>
		<pubDate>Thu, 19 Nov 2009 13:55:47 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-35407</guid>
		<description>Заглянул вот в мануалы по php для функции addslashes()и увидел что она автоматически применяется к суперглобальным массивам GET и POST в случае если в php.ini параметр magic_quotes_gpc стоит в on .
&lt;cite&gt;
Директива конфигурации magic_quotes_gpc по умолчанию имеет значение on, при этом функция addslashes() автоматически применяется ко всем данным GET, POST, и COOKIE. Не используйте addslashes() для данных, обработанных magic_quotes_gpc, чтобы избежать двойного экранирования. Для проверки состояния этой директивы используется get_magic_quotes_gpc(). 
&lt;/cite&gt;</description>
		<content:encoded><![CDATA[<p>Заглянул вот в мануалы по php для функции addslashes()и увидел что она автоматически применяется к суперглобальным массивам GET и POST в случае если в php.ini параметр magic_quotes_gpc стоит в on .<br />
<cite><br />
Директива конфигурации magic_quotes_gpc по умолчанию имеет значение on, при этом функция addslashes() автоматически применяется ко всем данным GET, POST, и COOKIE. Не используйте addslashes() для данных, обработанных magic_quotes_gpc, чтобы избежать двойного экранирования. Для проверки состояния этой директивы используется get_magic_quotes_gpc().<br />
</cite></p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Луганский портал</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-34423</link>
		<dc:creator>Луганский портал</dc:creator>
		<pubDate>Thu, 29 Oct 2009 06:33:35 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-34423</guid>
		<description>О, нашей мысли обольщенье,
Ты – человеческое я,
Не таково ль твое значенье,
Не такова ль судьба твоя?
Никого так ловко не обманываем мы и не обходим лестью, как самих себя.
Но в принципе блог интересныйЭ а главное много поучительного материала для юзеров.
Я уже год пишу, все времени тет.</description>
		<content:encoded><![CDATA[<p>О, нашей мысли обольщенье,<br />
Ты – человеческое я,<br />
Не таково ль твое значенье,<br />
Не такова ль судьба твоя?<br />
Никого так ловко не обманываем мы и не обходим лестью, как самих себя.<br />
Но в принципе блог интересныйЭ а главное много поучительного материала для юзеров.<br />
Я уже год пишу, все времени тет.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Анатолий</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-32448</link>
		<dc:creator>Анатолий</dc:creator>
		<pubDate>Sun, 20 Sep 2009 18:28:55 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-32448</guid>
		<description>Привет автору статьи, описываю исключительно свое мнение.
Я прочитал много книг и статей по программированию на php и в 99% случаев все примеры написаны в этих книгах без учета безопасности. Я считаю что в случае если вы уделите этому большее внимание именно во время написания своих скриптов, то у вас будет больше читающих, т.к. тема безопасности очень лично для меня актуальна, и судя по комментариям с критикой актуальность темы безопасности только подтверждается.</description>
		<content:encoded><![CDATA[<p>Привет автору статьи, описываю исключительно свое мнение.<br />
Я прочитал много книг и статей по программированию на php и в 99% случаев все примеры написаны в этих книгах без учета безопасности. Я считаю что в случае если вы уделите этому большее внимание именно во время написания своих скриптов, то у вас будет больше читающих, т.к. тема безопасности очень лично для меня актуальна, и судя по комментариям с критикой актуальность темы безопасности только подтверждается.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: tilda</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-27916</link>
		<dc:creator>tilda</dc:creator>
		<pubDate>Sun, 05 Jul 2009 16:53:43 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-27916</guid>
		<description>Хотелось бы прочитать пост про пагинацию для данной цмс. Очень уж автор хорошо все объясняет.
Заранее спасибо, если найдете время.</description>
		<content:encoded><![CDATA[<p>Хотелось бы прочитать пост про пагинацию для данной цмс. Очень уж автор хорошо все объясняет.<br />
Заранее спасибо, если найдете время.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: danelvoloj</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-26975</link>
		<dc:creator>danelvoloj</dc:creator>
		<pubDate>Fri, 19 Jun 2009 16:19:40 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-26975</guid>
		<description>Да, где продолжение?</description>
		<content:encoded><![CDATA[<p>Да, где продолжение?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: VadimZ</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-26482</link>
		<dc:creator>VadimZ</dc:creator>
		<pubDate>Wed, 10 Jun 2009 07:27:14 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-26482</guid>
		<description>DimoninG, огромное спасибо за статью!
Очень помогло (сам только начинаю познавать основы сайтостроения).

Хотелось бы увидеть продолжение. Очень хотелось бы :).</description>
		<content:encoded><![CDATA[<p>DimoninG, огромное спасибо за статью!<br />
Очень помогло (сам только начинаю познавать основы сайтостроения).</p>
<p>Хотелось бы увидеть продолжение. Очень хотелось бы :).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: жопа</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-26120</link>
		<dc:creator>жопа</dc:creator>
		<pubDate>Wed, 03 Jun 2009 20:42:29 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-26120</guid>
		<description>очень даже интересно. рекомендую</description>
		<content:encoded><![CDATA[<p>очень даже интересно. рекомендую</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Юрий</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-24853</link>
		<dc:creator>Юрий</dc:creator>
		<pubDate>Sat, 16 May 2009 18:22:06 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-24853</guid>
		<description>Ну у тебя зачетно получается объяснять. Я вообще не секу впрограмировании, но ты описываешь понятно все. И коменты как надо. Я много всяких статей читал и читаю - твои реально ближе к пониманию. Но так и знал, что ты продолжать не будешь.</description>
		<content:encoded><![CDATA[<p>Ну у тебя зачетно получается объяснять. Я вообще не секу впрограмировании, но ты описываешь понятно все. И коменты как надо. Я много всяких статей читал и читаю &#8211; твои реально ближе к пониманию. Но так и знал, что ты продолжать не будешь.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-24851</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Sat, 16 May 2009 18:18:50 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-24851</guid>
		<description>Спасибо, Юра, еще раз. Благодаря таким, как Вы авторы как раз и начинают писать дальше. Поверьте, это довольно тяжелая работа - объяснять. И когда получаешь еще и негатив разных &quot;умников&quot; - это отбивает охоту. Но характерно то, что негатив обычно от тех, кто УЖЕ умеет писать. А там кто ХОЧЕТ научиться - не на чем учиться.</description>
		<content:encoded><![CDATA[<p>Спасибо, Юра, еще раз. Благодаря таким, как Вы авторы как раз и начинают писать дальше. Поверьте, это довольно тяжелая работа &#8211; объяснять. И когда получаешь еще и негатив разных &laquo;умников&raquo; &#8211; это отбивает охоту. Но характерно то, что негатив обычно от тех, кто УЖЕ умеет писать. А там кто ХОЧЕТ научиться &#8211; не на чем учиться.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Юрий</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-24848</link>
		<dc:creator>Юрий</dc:creator>
		<pubDate>Sat, 16 May 2009 18:09:05 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-24848</guid>
		<description>Так я и знал. Не знаю с чем связано - а так по всему интернету. А попробуй набери в яндексе &quot;Пишем свой движок для сайта&quot; - первым и единственным нормальным - этот блог выходит. Больше нет никого. ЭЭЭй! где вы, умники? Критиковать блин каждый горазд!

-------
PS
-------
Автору еще раз респект.</description>
		<content:encoded><![CDATA[<p>Так я и знал. Не знаю с чем связано &#8211; а так по всему интернету. А попробуй набери в яндексе &laquo;Пишем свой движок для сайта&raquo; &#8211; первым и единственным нормальным &#8211; этот блог выходит. Больше нет никого. ЭЭЭй! где вы, умники? Критиковать блин каждый горазд!</p>
<p>&#8212;&#8212;-<br />
PS<br />
&#8212;&#8212;-<br />
Автору еще раз респект.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-24846</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Sat, 16 May 2009 18:05:17 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-24846</guid>
		<description>Юрий, вот спасибо, честно приятно. Я дальше писать даже не стал, наполучал тут отзывов... Не захотелось писать еще. чтобы таких же не наполучать.</description>
		<content:encoded><![CDATA[<p>Юрий, вот спасибо, честно приятно. Я дальше писать даже не стал, наполучал тут отзывов&#8230; Не захотелось писать еще. чтобы таких же не наполучать.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Юрий</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-24844</link>
		<dc:creator>Юрий</dc:creator>
		<pubDate>Sat, 16 May 2009 16:57:19 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-24844</guid>
		<description>Блин! Че вот те кто умеют програмировать лезут на такие блоги со своими коментами? Такие умные - пишите статьи о том как свою CMS сделать и поподробнее. Автору респект! Трудился человек, а вы ему охоту продолжать отбиваете. Достали. На какой блог не зайдешь - везде дальше третьей статьи никто не пишет. Суки задолбали, понаучились в институтах, лезете изовсех щелей! Не трожьте блин блогера!</description>
		<content:encoded><![CDATA[<p>Блин! Че вот те кто умеют програмировать лезут на такие блоги со своими коментами? Такие умные &#8211; пишите статьи о том как свою CMS сделать и поподробнее. Автору респект! Трудился человек, а вы ему охоту продолжать отбиваете. Достали. На какой блог не зайдешь &#8211; везде дальше третьей статьи никто не пишет. Суки задолбали, понаучились в институтах, лезете изовсех щелей! Не трожьте блин блогера!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: ONLINE</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-24218</link>
		<dc:creator>ONLINE</dc:creator>
		<pubDate>Tue, 05 May 2009 12:12:37 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-24218</guid>
		<description>нормуль, есть свои плюсы НО не всегда помогает</description>
		<content:encoded><![CDATA[<p>нормуль, есть свои плюсы НО не всегда помогает</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: PSVlab</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-20115</link>
		<dc:creator>PSVlab</dc:creator>
		<pubDate>Mon, 09 Mar 2009 15:27:04 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-20115</guid>
		<description>DimoninG, ну во первых вы сами пишите про то, что это простой движочек и для новичков, отсюда - какая многопользовательская админка?
Во-вторых будет не сложно разграничить админов если изначально их помещать в различные группы хтпасворд</description>
		<content:encoded><![CDATA[<p>DimoninG, ну во первых вы сами пишите про то, что это простой движочек и для новичков, отсюда &#8211; какая многопользовательская админка?<br />
Во-вторых будет не сложно разграничить админов если изначально их помещать в различные группы хтпасворд</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-19366</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Mon, 02 Mar 2009 08:17:19 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-19366</guid>
		<description>PSVlab, ну уж не скажите. Если делать многопользовательскую админку, то это станет сложнее куков. Кроме того, хеш пароля, который генерит htpasswd.exe, насколько я понял, отличается от версии к версии и от ОС к ОС (сгенеренный пароль на локалхосте у меня не понимает хостинг, приходится лезть через ssh и генерить там).</description>
		<content:encoded><![CDATA[<p>PSVlab, ну уж не скажите. Если делать многопользовательскую админку, то это станет сложнее куков. Кроме того, хеш пароля, который генерит htpasswd.exe, насколько я понял, отличается от версии к версии и от ОС к ОС (сгенеренный пароль на локалхосте у меня не понимает хостинг, приходится лезть через ssh и генерить там).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: PSVlab</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-19310</link>
		<dc:creator>PSVlab</dc:creator>
		<pubDate>Sun, 01 Mar 2009 17:57:36 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-19310</guid>
		<description>Для запрета входа в админку я поступаю проще, защищаю папку с файлами админки с помощью .хтакцес и .хтпасворд паролем (внутренее средство Апач для защиты директорий). Заодно и исчезают 2 проблемы:
1. Невозможность войти в админку если куки отключены в браузере
2. Решение несанкционированного доступа к админке, если вы пользовались чужим компьютером и забыли нажать &quot;Выход&quot;</description>
		<content:encoded><![CDATA[<p>Для запрета входа в админку я поступаю проще, защищаю папку с файлами админки с помощью .хтакцес и .хтпасворд паролем (внутренее средство Апач для защиты директорий). Заодно и исчезают 2 проблемы:<br />
1. Невозможность войти в админку если куки отключены в браузере<br />
2. Решение несанкционированного доступа к админке, если вы пользовались чужим компьютером и забыли нажать &laquo;Выход&raquo;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-13490</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Tue, 06 Jan 2009 19:29:23 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-13490</guid>
		<description>qwerty, закинул. Некогда.</description>
		<content:encoded><![CDATA[<p>qwerty, закинул. Некогда.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: qwerty</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-13478</link>
		<dc:creator>qwerty</dc:creator>
		<pubDate>Tue, 06 Jan 2009 18:32:14 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-13478</guid>
		<description>Господи, надеюсь ув. DimoninG не закинул написание столь полезной статьи. Мне через две недели необходимо сдать готовый блог, а я без понятия как его написать :smile:</description>
		<content:encoded><![CDATA[<p>Господи, надеюсь ув. DimoninG не закинул написание столь полезной статьи. Мне через две недели необходимо сдать готовый блог, а я без понятия как его написать :smile:</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1929</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Sat, 13 Sep 2008 14:34:15 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1929</guid>
		<description>Кстати, да. Тут, я согласен. Просто последнее время я пишу только для себя и там я могу устраивать полный разгул - добавлять проверки в конце, писать изначально полную галиматью, а только потом заняться мало-мальским улучшением и оптимизацией и так далее.

При работе на заказчика я обычно не показываю промежуточный этап. Даже больше - я не забочусь о безопасности и предлагаю за это доплатить отдельно, т.к. я искренее считаю, что &quot;безопасность&quot; - не входит в &quot;стандартный комплект&quot;. Простите, но жить тоже нужно на что-то.

Но Ваш подход (только в плане работы с заказчиком! так я остаются при своем мнении) - гораздо лучше. Даже хороший программист может такой &quot;случайностью&quot; заслужить репутацию ужасного, что... ужасно :)</description>
		<content:encoded><![CDATA[<p>Кстати, да. Тут, я согласен. Просто последнее время я пишу только для себя и там я могу устраивать полный разгул &#8211; добавлять проверки в конце, писать изначально полную галиматью, а только потом заняться мало-мальским улучшением и оптимизацией и так далее.</p>
<p>При работе на заказчика я обычно не показываю промежуточный этап. Даже больше &#8211; я не забочусь о безопасности и предлагаю за это доплатить отдельно, т.к. я искренее считаю, что &laquo;безопасность&raquo; &#8211; не входит в &laquo;стандартный комплект&raquo;. Простите, но жить тоже нужно на что-то.</p>
<p>Но Ваш подход (только в плане работы с заказчиком! так я остаются при своем мнении) &#8211; гораздо лучше. Даже хороший программист может такой &laquo;случайностью&raquo; заслужить репутацию ужасного, что&#8230; ужасно :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Vladimir</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1928</link>
		<dc:creator>Vladimir</dc:creator>
		<pubDate>Sat, 13 Sep 2008 13:40:35 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1928</guid>
		<description>&lt;blockquote&gt;Может еще рефакторинга коснемся&lt;/blockquote&gt;
Сначала нужно будет о TDD говорить :-)

&lt;blockquote&gt;потом подумаем, что будет, если разложить нагрузку на несколько серверов&lt;/blockquote&gt;
Сначала рефакторинг :-) В Вашем случае даже репликацию будет сделать проблематично.

&lt;blockquote&gt;Я вообще довольно импульсивный и Вы меня определенно выводите из себя.&lt;/blockquote&gt;
&quot;Спокойствие, только спокойствие&quot;, как говаоривал небезызвестный мультперсонаж.

&lt;blockquote&gt;По какой, еще раз объясните мне, причине я не могу заняться безопасностью в конце?&lt;/blockquote&gt;
Мы просто вкладываем разный смысл в понятие безопасность.
Сама &quot;безопасность&quot; - аудит сайта, выявление уязвимостей, стрессовое тестирование и т.п. - действительно идет в конце проекта. Просто, как показывает практика, полное тестирование (в прямом смысле этого слова) - это миф: в мало-мальски серьезном проекте очень трудно протестировать все возможные пути в коде (очень показательна в этом плане история о том, как школьник обнаружил XSS-уязвимость в GMail).

А всякие простые вещи - наподобие intval/addslashes/htmlspecialchrs - имеет смсыл использовать сразу при написании кода :-) Мое мнение :-)

&lt;blockquote&gt;Я бы назвал Ваш подход - головной болью на ровном месте.&lt;/blockquote&gt;
Попробую с другой стороны: где именно при &quot;моем&quot; подходе головная боль? В идеале при использовании обоих подходов мы получим одинаковый результат. Но в &quot;моем&quot; случае я один раз написал и забыл, в Вашем - написал, вернулся и переписал. Видите ли, на практике очень трудно убедить заказчика (я сейчас говорю о забугорных заказчиках) почему мне нужен еще один час (который он оплачивает), чтобы расставить везде всякие там addslashes. Раз я их там изначально не поставил (при условии, что они нужны) - это моя ошибка (что с радостью подтвердят тестеры/программисты заказчика), следовательно, свои ошибки я должен исправлять за свой счет. Так вот работаю серьезные компании.

&lt;blockquote&gt;Я уверен, убежден и никто меня в этом не переубедит, что просто у меня другой подход.&lt;/blockquote&gt;
Да я не спорю, я просто указываю на некоторые недостатки такого подхода и чем они грозят при работе в серьезной конторе.

&lt;blockquote&gt;Единственная ошибка, которую я допустил - это выложил промежуточный результат, получается так?&lt;/blockquote&gt;
Посмотрим с точки зрения заказчика: я потребовал промежуточную версию, чтобы посмотреть, как у программиста идут дела, в состоянии ли он сделать то, что обещал и пр. - в общем, обычная проверка для человека, который не хочет зря тратить деньги. Я даю этот прмежуточный результат своему тестеру (предупреждаю его о том, что это сырая альфа). Тестер - он тоже человек, ему тоже нужно показать, что он работает, а не штаны просиживает. Он лезет в код. Код аккуратный, признаю. Лезет в запросы. А там - никаких проверок данных - потенциальные критические уязвимости. Он смотрит другие запросы. Там такая же картина. Для запросов используется mysql_query(), следовательно, для того, чтобы закрыть все дырки, нужно в любом случае лазить по всем запросам. Что в этом случае сообщит тестер заказчику? Видимо то, что code is vulnerable &lt;strong&gt;by design&lt;/strong&gt;. После этого заказчик либо отберет у Вас проект, либо заставит бесплатно исправлять. Не раз такое видел. Ни одно, ни другое хорошей репутации Вам не прибавит, согласитесь.

Это я Вам рассказал с точки зрения заказчика. Опять же, основываясь на своем восемнадцатилетнем опыте. А так как заказчик - это тот, кто платит, его обычно трудно переубедить, если имеются серьезные косяки. 

Я не буду вдаваться в подробности, где именно была допущена &quot;та самая&quot; ошибка, каждый сделает выводы для себя сам.

&lt;blockquote&gt;Если человек пишет правой рукой, Вы будите его переучивать писать левой?&lt;/blockquote&gt;
Нет, а смысл?

В любом случае, это сравнение некорректное. Более того, переучивать - не моя задача, я просто указал на некоторые недостатки. Ведь мы учимся именно на ошибках :-)</description>
		<content:encoded><![CDATA[<blockquote><p>Может еще рефакторинга коснемся</p></blockquote>
<p>Сначала нужно будет о TDD говорить :-)</p>
<blockquote><p>потом подумаем, что будет, если разложить нагрузку на несколько серверов</p></blockquote>
<p>Сначала рефакторинг :-) В Вашем случае даже репликацию будет сделать проблематично.</p>
<blockquote><p>Я вообще довольно импульсивный и Вы меня определенно выводите из себя.</p></blockquote>
<p>&laquo;Спокойствие, только спокойствие&raquo;, как говаоривал небезызвестный мультперсонаж.</p>
<blockquote><p>По какой, еще раз объясните мне, причине я не могу заняться безопасностью в конце?</p></blockquote>
<p>Мы просто вкладываем разный смысл в понятие безопасность.<br />
Сама &laquo;безопасность&raquo; &#8211; аудит сайта, выявление уязвимостей, стрессовое тестирование и т.п. &#8211; действительно идет в конце проекта. Просто, как показывает практика, полное тестирование (в прямом смысле этого слова) &#8211; это миф: в мало-мальски серьезном проекте очень трудно протестировать все возможные пути в коде (очень показательна в этом плане история о том, как школьник обнаружил XSS-уязвимость в GMail).</p>
<p>А всякие простые вещи &#8211; наподобие intval/addslashes/htmlspecialchrs &#8211; имеет смсыл использовать сразу при написании кода :-) Мое мнение :-)</p>
<blockquote><p>Я бы назвал Ваш подход &#8211; головной болью на ровном месте.</p></blockquote>
<p>Попробую с другой стороны: где именно при &laquo;моем&raquo; подходе головная боль? В идеале при использовании обоих подходов мы получим одинаковый результат. Но в &laquo;моем&raquo; случае я один раз написал и забыл, в Вашем &#8211; написал, вернулся и переписал. Видите ли, на практике очень трудно убедить заказчика (я сейчас говорю о забугорных заказчиках) почему мне нужен еще один час (который он оплачивает), чтобы расставить везде всякие там addslashes. Раз я их там изначально не поставил (при условии, что они нужны) &#8211; это моя ошибка (что с радостью подтвердят тестеры/программисты заказчика), следовательно, свои ошибки я должен исправлять за свой счет. Так вот работаю серьезные компании.</p>
<blockquote><p>Я уверен, убежден и никто меня в этом не переубедит, что просто у меня другой подход.</p></blockquote>
<p>Да я не спорю, я просто указываю на некоторые недостатки такого подхода и чем они грозят при работе в серьезной конторе.</p>
<blockquote><p>Единственная ошибка, которую я допустил &#8211; это выложил промежуточный результат, получается так?</p></blockquote>
<p>Посмотрим с точки зрения заказчика: я потребовал промежуточную версию, чтобы посмотреть, как у программиста идут дела, в состоянии ли он сделать то, что обещал и пр. &#8211; в общем, обычная проверка для человека, который не хочет зря тратить деньги. Я даю этот прмежуточный результат своему тестеру (предупреждаю его о том, что это сырая альфа). Тестер &#8211; он тоже человек, ему тоже нужно показать, что он работает, а не штаны просиживает. Он лезет в код. Код аккуратный, признаю. Лезет в запросы. А там &#8211; никаких проверок данных &#8211; потенциальные критические уязвимости. Он смотрит другие запросы. Там такая же картина. Для запросов используется mysql_query(), следовательно, для того, чтобы закрыть все дырки, нужно в любом случае лазить по всем запросам. Что в этом случае сообщит тестер заказчику? Видимо то, что code is vulnerable <strong>by design</strong>. После этого заказчик либо отберет у Вас проект, либо заставит бесплатно исправлять. Не раз такое видел. Ни одно, ни другое хорошей репутации Вам не прибавит, согласитесь.</p>
<p>Это я Вам рассказал с точки зрения заказчика. Опять же, основываясь на своем восемнадцатилетнем опыте. А так как заказчик &#8211; это тот, кто платит, его обычно трудно переубедить, если имеются серьезные косяки. </p>
<p>Я не буду вдаваться в подробности, где именно была допущена &laquo;та самая&raquo; ошибка, каждый сделает выводы для себя сам.</p>
<blockquote><p>Если человек пишет правой рукой, Вы будите его переучивать писать левой?</p></blockquote>
<p>Нет, а смысл?</p>
<p>В любом случае, это сравнение некорректное. Более того, переучивать &#8211; не моя задача, я просто указал на некоторые недостатки. Ведь мы учимся именно на ошибках :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1920</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Sat, 13 Sep 2008 10:44:43 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1920</guid>
		<description>Вы определенно меня завели ))
Может еще рефакторинга коснемся, м? А потом подумаем, что будет, если разложить нагрузку на несколько серверов? М? Не, ну так нельзя, люди ))) Я сам люблю выпендриваться ))) Но не настолько же. Другой блоггер стер бы такие коменты нафиг, т.к. уже сам отвечал на такие вопросы.

А вот Ваша статья http://blog.sjinks.org.ua/mysql/9-security-they-talk-so-much-about/ - очень наглядная, приятно почитать.</description>
		<content:encoded><![CDATA[<p>Вы определенно меня завели ))<br />
Может еще рефакторинга коснемся, м? А потом подумаем, что будет, если разложить нагрузку на несколько серверов? М? Не, ну так нельзя, люди ))) Я сам люблю выпендриваться ))) Но не настолько же. Другой блоггер стер бы такие коменты нафиг, т.к. уже сам отвечал на такие вопросы.</p>
<p>А вот Ваша статья <a href="http://blog.sjinks.org.ua/mysql/9-security-they-talk-so-much-about/" rel="nofollow">http://blog.sjinks.org.ua/mysql/9-security-they-talk-so-much-about/</a> &#8211; очень наглядная, приятно почитать.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1919</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Sat, 13 Sep 2008 10:42:03 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1919</guid>
		<description>Спасибо за длинный коммент :)

Начну с того, что в нормальной команде, как ни странно, мне поработать так и не вышло. То есть для меня &quot;работа в команде&quot; означает постоянное переключение задач, доработку чуждого кода, ругань и маты. Видимо, не повезло. Я уж не говорю о том, что нормально поиспользовать всякие системы контроля версий и прочее - не довелось. Аналогично, в фирмах, где работал - обычно кодил сайт я один, или какие-то мелкие детали потом доделывали другие ребята.

Поэтому с некоторого времени я решил работать только один - это оказалось легче. С удовольствием бы поработал в команде и посмотрел, как это делается у нормальных людей.

&gt; О безопасности думать в любом случае придется, просто с Вашим подходом это называется “недостаточное планирование”.

Я бы назвал Ваш подход - головной болью на ровном месте. Назвать всякими умными словами (мерчендайзер! андронный коллайдер! +) ) всегда можно. При этом половина прочитавших наверняка решит, что &quot;фу, да он недостаточно спланировал!&quot; не понимая вообще, что это значит.

Я уверен, убежден и никто меня в этом не переубедит, что просто у меня другой подход. Стиль, если хотите.

Никто не запрещает заниматься безопасностью в конце, с чего бы это? По своему опыту я знаю, что у меня - наоборот! - меньше ошибок, если я только безопасностью и занят.

&gt; Или вообще при жестком дедлайне/бюджете не выполняется.

Если честно, да, бывало. Обычно я предупреждал заказчика, что если хочет еще и безопасность - давайте расширим сроки или увеличим бюджет. 100% заказчиков отказывались. Их дело.

&gt; И они не исправят эти ляпы.

Я во всех частях говорю, что будет идти дальше. Если они не дождутся безопасности - в этом виноват уже не я. Аналогично, если кто-то решил, что моя капча - это &quot;мега-находка&quot;, я честно всех предупредил, что ломается она легко, но пока что уникальна.

&gt; Элементарные проверки должны быть везде. Иначе, как минимум, складывается негативное впечатление о программисте.

Я вообще довольно импульсивный и Вы меня определенно выводите из себя. По какой, еще раз объясните мне, причине я не могу заняться безопасностью в конце? Единственная ошибка, которую я допустил - это выложил промежуточный результат, получается так? Не надо еще раз о мифическом &quot;планировании&quot;. Если человек пишет правой рукой, Вы будите его переучивать писать левой?

&gt; Специально пересмотрел статью, и не нашел этого упоминания.

Видимо, то ли я это сказал в комментариях, то ли в личку кому-то, но определенно это мне уже были предьявлено недели 3 назад. Я специально решил не захламлять головы новичкам. Врубиться в эту модель - не так-то просто, если раньше ее никогда не видел.

&gt; Ну и как бывший препод программирования в универе

Вооот, вооот в чем дело ;)

&gt; а чем оправдано использование die() вместо возвращения ошибки? В конце концов, даже exceptions в PHP есть…

Исключения - вроде бы только в пятой ветке. А &quot;дай&quot; я использую, т.к. нет смысла возвращать ошибку и использовать тот же &quot;дай&quot; :) Или, не знаю, echo &quot;вротмненоги&quot;; exit; - аналог &quot;даю&quot;.

По четвертому пункту, честно, я даже не посмотрел ничего, а функцию на слух не помню, конечно. Переустанавливал пару раз систему (мои мучения по поводу выбора оси для ноута), так что двигло стерлось нафиг.

Да и еще. По поводу педагогического эффекта моих статей. Несомненно он есть. Но еще несомненно, что это БЛОГ, а не университет (то есть - &quot;что хочу, то и ворочу, а недовольные могут не читать&quot; - концепция блога, не так ли?).</description>
		<content:encoded><![CDATA[<p>Спасибо за длинный коммент :)</p>
<p>Начну с того, что в нормальной команде, как ни странно, мне поработать так и не вышло. То есть для меня &laquo;работа в команде&raquo; означает постоянное переключение задач, доработку чуждого кода, ругань и маты. Видимо, не повезло. Я уж не говорю о том, что нормально поиспользовать всякие системы контроля версий и прочее &#8211; не довелось. Аналогично, в фирмах, где работал &#8211; обычно кодил сайт я один, или какие-то мелкие детали потом доделывали другие ребята.</p>
<p>Поэтому с некоторого времени я решил работать только один &#8211; это оказалось легче. С удовольствием бы поработал в команде и посмотрел, как это делается у нормальных людей.</p>
<p>> О безопасности думать в любом случае придется, просто с Вашим подходом это называется “недостаточное планирование”.</p>
<p>Я бы назвал Ваш подход &#8211; головной болью на ровном месте. Назвать всякими умными словами (мерчендайзер! андронный коллайдер! +) ) всегда можно. При этом половина прочитавших наверняка решит, что &laquo;фу, да он недостаточно спланировал!&raquo; не понимая вообще, что это значит.</p>
<p>Я уверен, убежден и никто меня в этом не переубедит, что просто у меня другой подход. Стиль, если хотите.</p>
<p>Никто не запрещает заниматься безопасностью в конце, с чего бы это? По своему опыту я знаю, что у меня &#8211; наоборот! &#8211; меньше ошибок, если я только безопасностью и занят.</p>
<p>> Или вообще при жестком дедлайне/бюджете не выполняется.</p>
<p>Если честно, да, бывало. Обычно я предупреждал заказчика, что если хочет еще и безопасность &#8211; давайте расширим сроки или увеличим бюджет. 100% заказчиков отказывались. Их дело.</p>
<p>> И они не исправят эти ляпы.</p>
<p>Я во всех частях говорю, что будет идти дальше. Если они не дождутся безопасности &#8211; в этом виноват уже не я. Аналогично, если кто-то решил, что моя капча &#8211; это &laquo;мега-находка&raquo;, я честно всех предупредил, что ломается она легко, но пока что уникальна.</p>
<p>> Элементарные проверки должны быть везде. Иначе, как минимум, складывается негативное впечатление о программисте.</p>
<p>Я вообще довольно импульсивный и Вы меня определенно выводите из себя. По какой, еще раз объясните мне, причине я не могу заняться безопасностью в конце? Единственная ошибка, которую я допустил &#8211; это выложил промежуточный результат, получается так? Не надо еще раз о мифическом &laquo;планировании&raquo;. Если человек пишет правой рукой, Вы будите его переучивать писать левой?</p>
<p>> Специально пересмотрел статью, и не нашел этого упоминания.</p>
<p>Видимо, то ли я это сказал в комментариях, то ли в личку кому-то, но определенно это мне уже были предьявлено недели 3 назад. Я специально решил не захламлять головы новичкам. Врубиться в эту модель &#8211; не так-то просто, если раньше ее никогда не видел.</p>
<p>> Ну и как бывший препод программирования в универе</p>
<p>Вооот, вооот в чем дело ;)</p>
<p>> а чем оправдано использование die() вместо возвращения ошибки? В конце концов, даже exceptions в PHP есть…</p>
<p>Исключения &#8211; вроде бы только в пятой ветке. А &laquo;дай&raquo; я использую, т.к. нет смысла возвращать ошибку и использовать тот же &laquo;дай&raquo; :) Или, не знаю, echo &laquo;вротмненоги&raquo;; exit; &#8211; аналог &laquo;даю&raquo;.</p>
<p>По четвертому пункту, честно, я даже не посмотрел ничего, а функцию на слух не помню, конечно. Переустанавливал пару раз систему (мои мучения по поводу выбора оси для ноута), так что двигло стерлось нафиг.</p>
<p>Да и еще. По поводу педагогического эффекта моих статей. Несомненно он есть. Но еще несомненно, что это БЛОГ, а не университет (то есть &#8211; &laquo;что хочу, то и ворочу, а недовольные могут не читать&raquo; &#8211; концепция блога, не так ли?).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Vladimir</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1909</link>
		<dc:creator>Vladimir</dc:creator>
		<pubDate>Sat, 13 Sep 2008 07:36:10 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1909</guid>
		<description>&lt;blockquote&gt;подумаю о безопасности в следующих частях&lt;/blockquote&gt;
О безопасности думать в любом случае придется, просто с Вашим подходом это называется &quot;недостаточное планирование&quot;. Объясняю: Вы добавляете &quot;действия с постами и категориями, действия с комментариями и комментирование&quot;, потом &quot;вывод всего этого на сайт&quot;. Потом начинаете заботиться о безопасности. То есть Вам придется открыть каждый файл, во все запросы добавлять addslashes, проверку данных и т.п. Такая работа чревата ошибками: недоглядел. Или вообще при жестком дедлайне/бюджете не выполняется. В результате получается &lt;a href=&quot;http://blog.sjinks.org.ua/mysql/9-security-they-talk-so-much-about/&quot; rel=&quot;nofollow&quot;&gt;это&lt;/a&gt; (из машин, на которых стоит ArticleDashboard, получается неплохой ботнет, но это к слову). Короче, на добавление элементарного addslashes() в части 4, Вы потратите больше времени, чем если бы Вы это делали в самом начале. Потом, подумайте о пользователях, которые не дождутся последней части. Они будут уверены, что код хороший, ибо его писал &quot;реальный программист&quot; с трехзначным числом RSS-подписчиков. И они не исправят эти ляпы.

Мораль истории в том, что &quot;everything worth doing, worth doing well&quot;. Если Вы хотите кому-то что-то показать (хотя бы как концепт), делайте это правильно. Не забывайте о педагогическом эффекте ваших статей. Элементарные проверки должны быть везде. Иначе, как минимум, складывается негативное впечатление о программисте.

&lt;blockquote&gt;говорил, что не буду использовать модель разделения логики и представления&lt;/blockquote&gt;
Специально пересмотрел статью, и не нашел этого упоминания.

&lt;blockquote&gt;переменные и так существуют, они и без того глобальные&lt;/blockquote&gt;
DimoninG, Вы работали над большими проектами и в команде? Вам знакомо понятие &quot;системный подход&quot;? Вы знаете, что такое &quot;повторное использование кода&quot;? Вы же где-то писали о себе как о фрилансере с большим стажем. Лично я, выступая в роли HR (а у меня были мысли пригласить Вас в команду после статьи с капчей) или даже заказчика, не взял бы Вас в команду, после того, как посмотрел бы на код движка. Это я говорю как программист/системотехник с более чем 18-летним стажем. Ну и как бывший препод программирования в универе :wink:

&lt;blockquote&gt;Поэтому нет смысла захламлять память лишними параметрами функций&lt;/blockquote&gt;
Ну да, теоретики программирования были неправы :-) Еще в далеком 1973 году считалось, что использование глобальных переменных - муветон.

Ладно, параметры занимают лишнее место в памяти :lol:, а чем оправдано использование die() вместо возвращения ошибки? В конце концов, даже exceptions в PHP есть...

&lt;blockquote&gt;единственный достойным комментарием считаю только пункт 2&lt;/blockquote&gt;
Значит, по пункту 4 ничего-таки не заметили? Эх...</description>
		<content:encoded><![CDATA[<blockquote><p>подумаю о безопасности в следующих частях</p></blockquote>
<p>О безопасности думать в любом случае придется, просто с Вашим подходом это называется &laquo;недостаточное планирование&raquo;. Объясняю: Вы добавляете &laquo;действия с постами и категориями, действия с комментариями и комментирование&raquo;, потом &laquo;вывод всего этого на сайт&raquo;. Потом начинаете заботиться о безопасности. То есть Вам придется открыть каждый файл, во все запросы добавлять addslashes, проверку данных и т.п. Такая работа чревата ошибками: недоглядел. Или вообще при жестком дедлайне/бюджете не выполняется. В результате получается <a href="http://blog.sjinks.org.ua/mysql/9-security-they-talk-so-much-about/" rel="nofollow">это</a> (из машин, на которых стоит ArticleDashboard, получается неплохой ботнет, но это к слову). Короче, на добавление элементарного addslashes() в части 4, Вы потратите больше времени, чем если бы Вы это делали в самом начале. Потом, подумайте о пользователях, которые не дождутся последней части. Они будут уверены, что код хороший, ибо его писал &laquo;реальный программист&raquo; с трехзначным числом RSS-подписчиков. И они не исправят эти ляпы.</p>
<p>Мораль истории в том, что &laquo;everything worth doing, worth doing well&raquo;. Если Вы хотите кому-то что-то показать (хотя бы как концепт), делайте это правильно. Не забывайте о педагогическом эффекте ваших статей. Элементарные проверки должны быть везде. Иначе, как минимум, складывается негативное впечатление о программисте.</p>
<blockquote><p>говорил, что не буду использовать модель разделения логики и представления</p></blockquote>
<p>Специально пересмотрел статью, и не нашел этого упоминания.</p>
<blockquote><p>переменные и так существуют, они и без того глобальные</p></blockquote>
<p>DimoninG, Вы работали над большими проектами и в команде? Вам знакомо понятие &laquo;системный подход&raquo;? Вы знаете, что такое &laquo;повторное использование кода&raquo;? Вы же где-то писали о себе как о фрилансере с большим стажем. Лично я, выступая в роли HR (а у меня были мысли пригласить Вас в команду после статьи с капчей) или даже заказчика, не взял бы Вас в команду, после того, как посмотрел бы на код движка. Это я говорю как программист/системотехник с более чем 18-летним стажем. Ну и как бывший препод программирования в универе :wink:</p>
<blockquote><p>Поэтому нет смысла захламлять память лишними параметрами функций</p></blockquote>
<p>Ну да, теоретики программирования были неправы :-) Еще в далеком 1973 году считалось, что использование глобальных переменных &#8211; муветон.</p>
<p>Ладно, параметры занимают лишнее место в памяти :lol:, а чем оправдано использование die() вместо возвращения ошибки? В конце концов, даже exceptions в PHP есть&#8230;</p>
<blockquote><p>единственный достойным комментарием считаю только пункт 2</p></blockquote>
<p>Значит, по пункту 4 ничего-таки не заметили? Эх&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1882</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Fri, 12 Sep 2008 20:12:40 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1882</guid>
		<description>Владимир, подобных комментариев, как Ваш я уже начиался тонну. Поэтому, отвечаю грубо: &lt;b&gt;Вы, блядь, когда научитесь сначала читать статьи, а потом постить коменты?!&lt;/b&gt;. Вот, полегчало. Извиняюсь за грубость тона :) Я уже говорил, что не буду использовать модель разделения логики и представления, что подумаю о безопасности в следующих частях.

По пути: единственный достойным комментарием считаю только пункт 2. Но тут не согласен: переменные и так существуют, они и без того глобальные. Поэтому нет смысла захламлять память лишними параметрами функций.</description>
		<content:encoded><![CDATA[<p>Владимир, подобных комментариев, как Ваш я уже начиался тонну. Поэтому, отвечаю грубо: <b>Вы, блядь, когда научитесь сначала читать статьи, а потом постить коменты?!</b>. Вот, полегчало. Извиняюсь за грубость тона :) Я уже говорил, что не буду использовать модель разделения логики и представления, что подумаю о безопасности в следующих частях.</p>
<p>По пути: единственный достойным комментарием считаю только пункт 2. Но тут не согласен: переменные и так существуют, они и без того глобальные. Поэтому нет смысла захламлять память лишними параметрами функций.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Vladimir</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1877</link>
		<dc:creator>Vladimir</dc:creator>
		<pubDate>Fri, 12 Sep 2008 19:48:16 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1877</guid>
		<description>&lt;blockquote&gt;Да и еще что странно - один человек уже пристал ко мне с безопасностью. А то, что я ей займусь в конце - внимание на это не обратил.&lt;/blockquote&gt;
Гы, addslashes() нужно приучаться сразу ставить, а не оставлять на потом.

&lt;blockquote&gt;Секрет, лучше бы “влез” с подробными&lt;/blockquote&gt;
Если с первого взгляда:
1. Отсутствие addslashes()/htmlspecialchars()
2. Использовать в функциях $_GET/$_POST - очень плохо. Функции должны передаваться аргументы, а использование (супер)глобальных переменных без всякой необходимости является дурным тоном и вводит лишние зависимости.
3. Разделение управляющей логики и презентационной части. Почитайте про MVC. Если человек будет пытаться подстроить дизайн под себя, сколько файлов ему нужн будет перелопатить в Вашем случае? Малейшая ошибка в functions.php может привести к неработоспособности всего кода. И использование die() вместо возврата ошибки тоже впечатляет.
4. show_post() - вообще &quot;гениальное&quot; творение. Посмотрите на if, ничего не находите?
...

&lt;blockquote&gt;Задача здесь все же - показать как можно сделать свой блог&lt;/blockquote&gt;
В том-то и дело. Учить нужно на хороших примерах. На тех, которые можно использовать с минимальными изменениями.</description>
		<content:encoded><![CDATA[<blockquote><p>Да и еще что странно &#8211; один человек уже пристал ко мне с безопасностью. А то, что я ей займусь в конце &#8211; внимание на это не обратил.</p></blockquote>
<p>Гы, addslashes() нужно приучаться сразу ставить, а не оставлять на потом.</p>
<blockquote><p>Секрет, лучше бы “влез” с подробными</p></blockquote>
<p>Если с первого взгляда:<br />
1. Отсутствие addslashes()/htmlspecialchars()<br />
2. Использовать в функциях $_GET/$_POST &#8211; очень плохо. Функции должны передаваться аргументы, а использование (супер)глобальных переменных без всякой необходимости является дурным тоном и вводит лишние зависимости.<br />
3. Разделение управляющей логики и презентационной части. Почитайте про MVC. Если человек будет пытаться подстроить дизайн под себя, сколько файлов ему нужн будет перелопатить в Вашем случае? Малейшая ошибка в functions.php может привести к неработоспособности всего кода. И использование die() вместо возврата ошибки тоже впечатляет.<br />
4. show_post() &#8211; вообще &laquo;гениальное&raquo; творение. Посмотрите на if, ничего не находите?<br />
&#8230;</p>
<blockquote><p>Задача здесь все же &#8211; показать как можно сделать свой блог</p></blockquote>
<p>В том-то и дело. Учить нужно на хороших примерах. На тех, которые можно использовать с минимальными изменениями.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: formatC</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1673</link>
		<dc:creator>formatC</dc:creator>
		<pubDate>Sun, 07 Sep 2008 16:07:36 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1673</guid>
		<description>да, кстати, не работает прикрученная фича Комментарии. В админке: Непроверенных коментариев ($x).</description>
		<content:encoded><![CDATA[<p>да, кстати, не работает прикрученная фича Комментарии. В админке: Непроверенных коментариев ($x).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1617</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Sat, 06 Sep 2008 12:00:08 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1617</guid>
		<description>На днях. Сейчас чуть-чуть важнее работа ;)</description>
		<content:encoded><![CDATA[<p>На днях. Сейчас чуть-чуть важнее работа ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: formatC</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1614</link>
		<dc:creator>formatC</dc:creator>
		<pubDate>Sat, 06 Sep 2008 10:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1614</guid>
		<description>когда продолжение будет??</description>
		<content:encoded><![CDATA[<p>когда продолжение будет??</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Брум</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1304</link>
		<dc:creator>Брум</dc:creator>
		<pubDate>Mon, 25 Aug 2008 14:17:34 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1304</guid>
		<description>СПС за умные советы, надеюсь пригодяться!</description>
		<content:encoded><![CDATA[<p>СПС за умные советы, надеюсь пригодяться!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1296</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Mon, 25 Aug 2008 09:53:01 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1296</guid>
		<description>Да и еще что странно - один человек уже пристал ко мне с безопасностью. А то, что я ей займусь в конце - внимание на это не обратил. Такое начинает бесить все больше. Надеюсь, твой комент не на эту тему был.</description>
		<content:encoded><![CDATA[<p>Да и еще что странно &#8211; один человек уже пристал ко мне с безопасностью. А то, что я ей займусь в конце &#8211; внимание на это не обратил. Такое начинает бесить все больше. Надеюсь, твой комент не на эту тему был.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1295</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Mon, 25 Aug 2008 09:51:35 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1295</guid>
		<description>Секрет, лучше бы &quot;влез&quot; с подробными, говорить что-то без обоснования - очень глупо звучит.

Вообще гря, это все писалось очень быстро и что-то там придумывать совершенно не хотелось. Задача здесь все же - показать как можно сделать свой блог, а не написать эталонный код. Хотя я лично вообще не делю код на плохой и хороший. Мы тут, в самом деле, не автопилот для самолета пишем. И всякие там педантичные маньяки, которые считают выигрыши по производительности в десятую секунды - не по адресу, не для этого проекта :)</description>
		<content:encoded><![CDATA[<p>Секрет, лучше бы &laquo;влез&raquo; с подробными, говорить что-то без обоснования &#8211; очень глупо звучит.</p>
<p>Вообще гря, это все писалось очень быстро и что-то там придумывать совершенно не хотелось. Задача здесь все же &#8211; показать как можно сделать свой блог, а не написать эталонный код. Хотя я лично вообще не делю код на плохой и хороший. Мы тут, в самом деле, не автопилот для самолета пишем. И всякие там педантичные маньяки, которые считают выигрыши по производительности в десятую секунды &#8211; не по адресу, не для этого проекта :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Секрет</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1294</link>
		<dc:creator>Секрет</dc:creator>
		<pubDate>Mon, 25 Aug 2008 09:03:03 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1294</guid>
		<description>Хотел влезть с подробным комментарием, но потом передумал. DimoninG, код плохой, если не сказать больше. У тебя вроде большой опыт. Зачем для блога такое пишешь?</description>
		<content:encoded><![CDATA[<p>Хотел влезть с подробным комментарием, но потом передумал. DimoninG, код плохой, если не сказать больше. У тебя вроде большой опыт. Зачем для блога такое пишешь?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: DimoninG</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1225</link>
		<dc:creator>DimoninG</dc:creator>
		<pubDate>Fri, 22 Aug 2008 20:50:31 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1225</guid>
		<description>Согласен, админка - сложно и не интересно. Зто потом, когда пишешь пользовательскую часть, можно протестировать админку по-полной просто во время тестов пользовательской части ;)</description>
		<content:encoded><![CDATA[<p>Согласен, админка &#8211; сложно и не интересно. Зто потом, когда пишешь пользовательскую часть, можно протестировать админку по-полной просто во время тестов пользовательской части ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: bishai</title>
		<link>http://dimoning.ru/kak-napisat-svoy-dvizhok-bloga-2.html/comment-page-1#comment-1224</link>
		<dc:creator>bishai</dc:creator>
		<pubDate>Fri, 22 Aug 2008 20:26:00 +0000</pubDate>
		<guid isPermaLink="false">http://dimoning.ru/?p=387#comment-1224</guid>
		<description>&gt;Я вообще рекомендую всегда разрабатывать движок с админки

Незнаю как у других, а для меня создание админки - самое сложное. Понимаю, что как раз и нужно начинать с самого сложного, но у меня так не получается. Все время пишу сайт начиная с пользовательской части... а на админку потом ... забиваю   :lol:  )))))) Приходится потом редактировать через phpMyAdmin  :lol:</description>
		<content:encoded><![CDATA[<p>&gt;Я вообще рекомендую всегда разрабатывать движок с админки</p>
<p>Незнаю как у других, а для меня создание админки &#8211; самое сложное. Понимаю, что как раз и нужно начинать с самого сложного, но у меня так не получается. Все время пишу сайт начиная с пользовательской части&#8230; а на админку потом &#8230; забиваю   :lol:  )))))) Приходится потом редактировать через phpMyAdmin  :lol:</p>
]]></content:encoded>
	</item>
</channel>
</rss>

