<?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>Comments on: Как защитить свой web ресурс. Примеры безопасных PHP скриптов.</title>
	<atom:link href="http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html</link>
	<description>Блог о программировании</description>
	<lastBuildDate>Sat, 31 Jul 2010 22:06:47 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Сергей</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-6364</link>
		<dc:creator>Сергей</dc:creator>
		<pubDate>Tue, 29 Sep 2009 12:52:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-6364</guid>
		<description>Да, именно так я и сделал.</description>
		<content:encoded><![CDATA[<p>Да, именно так я и сделал.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-6360</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Tue, 29 Sep 2009 11:21:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-6360</guid>
		<description>Вы, наверное, имели ввиду &quot;не создавать переменную с другим именем&quot;.
В вашем случае переменная $Name существует отдельно от элемента массива $_POST[‘Name’].

&lt;blockquote&gt;таким образом скрипт также будет возвращать введенное значение пользователем в окно формы с заменой спец символов&lt;/blockquote&gt;

Нет, так просто автозаполнение формы сделать не получится.
Нужно добавить примерно такой код
input .... value=&quot;&lt;?php echo $Name; ?&gt;&quot;...</description>
		<content:encoded><![CDATA[<p>Вы, наверное, имели ввиду &#034;не создавать переменную с другим именем&#034;.<br />
В вашем случае переменная $Name существует отдельно от элемента массива $_POST[‘Name’].</p>
<blockquote><p>таким образом скрипт также будет возвращать введенное значение пользователем в окно формы с заменой спец символов</p></blockquote>
<p>Нет, так просто автозаполнение формы сделать не получится.<br />
Нужно добавить примерно такой код<br />
input &#8230;. value=&#034;&lt;?php echo $Name; ?&gt;&#034;&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Сергей</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-6343</link>
		<dc:creator>Сергей</dc:creator>
		<pubDate>Tue, 29 Sep 2009 04:06:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-6343</guid>
		<description>Интересно. Я только начинаю программировать на PHP. Я так понимаю вместо предложенного автором способа (&lt;code&gt;$safeText = htmlspecialchars($_POST[‘text’]);&lt;/code&gt;), чтобы не создавать дополнительную переменную можно использовать, например, &lt;code&gt;$Name = htmlspecialchars($_POST[‘Name’]);&lt;/code&gt; или &lt;code&gt;$Text = htmlspecialchars($_POST[‘Text’]);&lt;/code&gt;, таким образом скрипт также будет возвращать введенное значение пользователем в окно формы с заменой спец символов.</description>
		<content:encoded><![CDATA[<p>Интересно. Я только начинаю программировать на <acronym title="PHP: Hypertext Preprocessor">PHP</acronym>. Я так понимаю вместо предложенного автором способа (<code>$safeText = htmlspecialchars($_POST[‘text’]);</code>), чтобы не создавать дополнительную переменную можно использовать, например, <code>$Name = htmlspecialchars($_POST[‘Name’]);</code> или <code>$Text = htmlspecialchars($_POST[‘Text’]);</code>, таким образом скрипт также будет возвращать введенное значение пользователем в окно формы с заменой спец символов.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5898</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Fri, 04 Sep 2009 17:51:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5898</guid>
		<description>Да, это точно :) XSS касается только удаления скриптов из пользовательского ввода, порча дизайна - отдельная тема... но тоже важная ;)</description>
		<content:encoded><![CDATA[<p>Да, это точно <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  XSS касается только удаления скриптов из пользовательского ввода, порча дизайна &#8211; отдельная тема&#8230; но тоже важная <img src='http://www.simplecoding.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vvpol</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5887</link>
		<dc:creator>vvpol</dc:creator>
		<pubDate>Thu, 03 Sep 2009 19:53:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5887</guid>
		<description>&lt;blockquote&gt;Например, вы хотите в сайдбаре показать виджет с последними комментариями...&lt;/blockquote&gt;
 это не пользовательский ввод... 
По поводу Word-а никаких проблем, там все под классы и корректно ни в один wysiwyg он не войдет, в смысе, пользователь сам увидит, что ничего не получилось.
По поводу RSS... честно говоря, не знал что там html форматированый текст гонят...
А вот за идею корректной обрезки форматированного текста - Вам огромный &lt;strong&gt;respect&lt;/strong&gt;. На вскидку, все ложится отлично. К среде выложу тест. 
Кажется, мы уже далеко ушли от темы xss %o)</description>
		<content:encoded><![CDATA[<blockquote><p>Например, вы хотите в сайдбаре показать виджет с последними комментариями&#8230;</p></blockquote>
<p> это не пользовательский ввод&#8230;<br />
По поводу Word-а никаких проблем, там все под классы и корректно ни в один wysiwyg он не войдет, в смысе, пользователь сам увидит, что ничего не получилось.<br />
По поводу <acronym title="Really Simple Syndication">RSS</acronym>&#8230; честно говоря, не знал что там html форматированый текст гонят&#8230;<br />
А вот за идею корректной обрезки форматированного текста &#8211; Вам огромный <strong>respect</strong>. На вскидку, все ложится отлично. К среде выложу тест.<br />
Кажется, мы уже далеко ушли от темы xss %o)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5883</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Thu, 03 Sep 2009 17:30:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5883</guid>
		<description>Не думаю, что тут есть правильный вариант. Могут быть разные ситуации.
Например, вы хотите в сайдбаре показать виджет с последними комментариями. Но естественно не полными, а, например, только первые 10 слов.
Что будет если посетитель выделил слова с девятого по одиннадцатое жирным. Если просто обрезать текст - получим не закрытый тег.
Кроме того, может быть ситуация когда посетитель вставляет в WYSIWYG редактор текст из Word, и он отправляется со всех кучей тегов.
В таких случаях библиотеки вроде HTML Purifier очень помогают.</description>
		<content:encoded><![CDATA[<p>Не думаю, что тут есть правильный вариант. Могут быть разные ситуации.<br />
Например, вы хотите в сайдбаре показать виджет с последними комментариями. Но естественно не полными, а, например, только первые 10 слов.<br />
Что будет если посетитель выделил слова с девятого по одиннадцатое жирным. Если просто обрезать текст &#8211; получим не закрытый тег.<br />
Кроме того, может быть ситуация когда посетитель вставляет в <acronym title="What You See Is What You Get">WYSIWYG</acronym> редактор текст из Word, и он отправляется со всех кучей тегов.<br />
В таких случаях библиотеки вроде <acronym title="HyperText Markup Language">HTML</acronym> Purifier очень помогают.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vvpol</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5865</link>
		<dc:creator>vvpol</dc:creator>
		<pubDate>Wed, 02 Sep 2009 20:54:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5865</guid>
		<description>Я считаю, что правильный - второй вариант: отклонить запрос.
Без уведомления пользователя, вообще некорректно искажать(вырезать, преобразовывать) его данные. Целью моего комментария было предложение &lt;a href=&quot;http://shop.board-proj.ru/htmlvalid&quot; rel=&quot;nofollow&quot;&gt;способа обнаружения неразрешенных тэгов&lt;/a&gt; более простого чем  HTML Purifier и, соответсвенно, менее ресурсоемкого. Хотя ресурсоемкость в этом деле несущественна, поскольку, даже на раскрученых форумах, добавление комменариев - не массовая операция.</description>
		<content:encoded><![CDATA[<p>Я считаю, что правильный &#8211; второй вариант: отклонить запрос.<br />
Без уведомления пользователя, вообще некорректно искажать(вырезать, преобразовывать) его данные. Целью моего комментария было предложение <a href="http://shop.board-proj.ru/htmlvalid" rel="nofollow">способа обнаружения неразрешенных тэгов</a> более простого чем  <acronym title="HyperText Markup Language">HTML</acronym> Purifier и, соответсвенно, менее ресурсоемкого. Хотя ресурсоемкость в этом деле несущественна, поскольку, даже на раскрученых форумах, добавление комменариев &#8211; не массовая операция.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5860</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Wed, 02 Sep 2009 19:03:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5860</guid>
		<description>Я имел ввиду свою статью.

&lt;blockquote&gt;не о вырезании или замене тэгов, а именно проверке наличия недопустимых тэгов и атрибутов&lt;/blockquote&gt;

Хорошо, нашли мы недопустимые теги. Что дальше?
На мой взгляд вариантов два, либо вырезать, либо вообще отклонить запрос.
По-моему вторая часть моей статьи &quot;Cross Site Scripting (XSS)&quot; как раз на эту тему.</description>
		<content:encoded><![CDATA[<p>Я имел ввиду свою статью.</p>
<blockquote><p>не о вырезании или замене тэгов, а именно проверке наличия недопустимых тэгов и атрибутов</p></blockquote>
<p>Хорошо, нашли мы недопустимые теги. Что дальше?<br />
На мой взгляд вариантов два, либо вырезать, либо вообще отклонить запрос.<br />
По-моему вторая часть моей статьи &#034;Cross Site Scripting (XSS)&#034; как раз на эту тему.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vvpol</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5846</link>
		<dc:creator>vvpol</dc:creator>
		<pubDate>Wed, 02 Sep 2009 05:11:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5846</guid>
		<description>Не совсем понял о какой статье идет речь. Об обсуждаемой или о предложенной по ссылке. В них в обоих идет речь о проверке на сервере. Глупо утверждать, что сколько-нибудь надежную проверку можно сделать на клиенте. В статье по ссылке идет речь о проверке именно &lt;strong&gt;корректности html кода&lt;/strong&gt;, а не &lt;strong&gt;строковых даныых&lt;/strong&gt;. Еще раз подчеркну: &lt;em&gt;не о вырезании или замене тэгов, а именно проверке наличия недопустимых тэгов и атрибутов&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Не совсем понял о какой статье идет речь. Об обсуждаемой или о предложенной по ссылке. В них в обоих идет речь о проверке на сервере. Глупо утверждать, что сколько-нибудь надежную проверку можно сделать на клиенте. В статье по ссылке идет речь о проверке именно <strong>корректности html кода</strong>, а не <strong>строковых даныых</strong>. Еще раз подчеркну: <em>не о вырезании или замене тэгов, а именно проверке наличия недопустимых тэгов и атрибутов</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир</title>
		<link>http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5841</link>
		<dc:creator>Владимир</dc:creator>
		<pubDate>Tue, 01 Sep 2009 18:50:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.simplecoding.org/kak-zashhitit-svoj-web-resurs.html#comment-5841</guid>
		<description>Так в статье же речь идет только о проверках на стороне сервера.</description>
		<content:encoded><![CDATA[<p>Так в статье же речь идет только о проверках на стороне сервера.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
