<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Кратко о безопасности в CGI скриптах на Perl</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/4114.html</link>
    <description>- Главное правило - всегда явно проверять все переменные полученные из внешних источников &lt;br&gt;    (cgi-параметры, cookie, переменные окружения, имя файла и путь (при листинге директории по readdir));&lt;br&gt;&lt;br&gt;- Вырезать спецсимволы в переменных используемых в сис. функциях (open(), system(), &#096;&#096;) и обращениях к sql.&lt;br&gt;    вырезание: s/&#091;^&#092;w&#092;d_&#092;-.&#093;//g или tr/;&amp;lt;&amp;gt;*&amp;#124;?&#096;&amp;$!#&#123;&#125;&#091;&#093;:&apos;&#092;/&#092;n&#092;r&#092;0// для open(), system(), &#096;&#096;.&lt;br&gt;    не забывать про &#092;0 (передают  , который воспринимается как конец стоки)&lt;br&gt;    Пример: $var=&quot;../../etc/passwd&amp;#124;&#092;0&quot;; open(F, &quot;/home/test/$var.txt&quot;)&lt;br&gt;&lt;br&gt;- при открытии файла на чтение в open() всегда указывать &quot;&amp;lt;$file&quot;;&lt;br&gt;&lt;br&gt;- Осторожность при использовании переменной внутри eval() и regex (/&#092;Q$var&#092;E/ иначе можно подставить ?&#123;код&#125;).&lt;br&gt;&lt;br&gt;- Нельзя проверять числовые параметры через &quot;if ($var &amp;gt; 0)&quot;, так как может пройти $var=&quot;123;somecode&quot;;&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: &lt;br&gt;Обсуждается: http://www.opennet.ru/tips/info/621.shtml&lt;br&gt;</description>

<item>
    <title>Кратко о безопасности в CGI скриптах на Perl (leonid sopov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/4114.html#2</link>
    <pubDate>Wed, 21 Sep 2005 08:34:51 GMT</pubDate>
    <description>после того как получили или в момент получения&lt;br&gt;1) $var=int($var);&lt;br&gt;2) $var=~s/&#092;D//g; /лучше все же 1 вариант/</description>
</item>

<item>
    <title>Кратко о безопасности в CGI скриптах на Perl (Vict0r)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/4114.html#1</link>
    <pubDate>Wed, 11 Aug 2004 20:37:23 GMT</pubDate>
    <description>&quot;Нельзя проверять числовые параметры через &quot;if ($var &amp;gt; 0)&quot;&quot;&lt;br&gt;А как их тогда проверять?</description>
</item>

</channel>
</rss>
