<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>یک طراح وب &#187; htaccess</title>
	<atom:link href="http://aliha.ir/tag/htaccess/feed/" rel="self" type="application/rss+xml" />
	<link>http://aliha.ir</link>
	<description>لحظاتی با سی اس اس، جی کوئری و پی اچ پی.</description>
	<lastBuildDate>Sun, 16 Oct 2011 09:19:03 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>بیایید کمی سربه‌سر دزدهای پوسته بگذاریم – یک کُد کوچولو!</title>
		<link>http://aliha.ir/2010/02/21/css-file-protection/</link>
		<comments>http://aliha.ir/2010/02/21/css-file-protection/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 16:14:55 +0000</pubDate>
		<dc:creator>علیها</dc:creator>
				<category><![CDATA[سی اس اس]]></category>
		<category><![CDATA[پی اچ پی]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css protection]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[اچ تی اکسس]]></category>
		<category><![CDATA[دزد پوسته]]></category>
		<category><![CDATA[محافظت از استایل]]></category>

		<guid isPermaLink="false">http://aliha.ir/?p=1351</guid>
		<description><![CDATA[ساعت‌ها وقت می‌گذاریم برای نوشتن دستورات ِ سی‌اس‌اس ِ پوسته‌مان. مسلماً دوست نداریم یک نفر بیاید در عرض چند ثانیه کدهای‌مان را کش برود. حالا ما می‌خواهیم یک کاری بکنیم که وقتی آقای دزد، پرونده‌ی سی‌اس‌اس را در مرورگرش باز کرد، به‌جای کدها، مثلاً یک شکلک عین بُز لبخند بزند برایش :) برای این‌کار از ...]]></description>
			<content:encoded><![CDATA[<p>ساعت‌ها وقت می‌گذاریم برای نوشتن دستورات ِ سی‌اس‌اس ِ پوسته‌مان. مسلماً دوست نداریم یک نفر بیاید در عرض چند ثانیه کدهای‌مان را کش برود. حالا ما می‌خواهیم یک کاری بکنیم که وقتی آقای دزد، پرونده‌ی سی‌اس‌اس را در مرورگرش باز کرد، به‌جای کدها، مثلاً یک شکلک عین بُز لبخند بزند برایش :)</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1353" title="css-protection" src="http://aliha.ir/wp-content/uploads/css-protection.jpg" alt="" width="500" height="300" /></p>
<p>برای این‌کار از پی‌اچ‌پی و اچ‌تی‌اکسس استفاده می‌کنیم.</p>
<p style="text-align: left;"><img class="size-full wp-image-1354 no-border" title="list-of-files-css-protection" src="http://aliha.ir/wp-content/uploads/list-of-files-css-protection.png" alt="" width="119" height="75" /></p>
<p>فرض می‌کنیم یک صفحه‌ای داریم به‌نام index.php؛ کدهای اچ‌تی‌ام‌ال زیر را هم در آن داریم:</p>
<pre class="brush: xml;">
&lt;html&gt;
&lt;head&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;style.css&quot; /&gt;
&lt;/head&gt;
&lt;body&gt;
سلام جهان!
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>حالا کد پی‌اچ‌پی زیر را به بالای index.php اضافه می‌کنیم، یعنی قبل از شروع شدن &lt;html&gt; باید قرار بگیرد:</p>
<pre class="brush: php;">
&lt;?php
session_start();
$_SESSION[&quot;csskey&quot;] = &quot;user&quot;;
?&gt;
</pre>
<p>با این‌کار برای کاربر در هنگام ورود یک سشن با نام csskey که برابر با user است، ست کردیم.</p>
<p>سپس یک فایل با نام style.php می سازیم و تکه‌کد پی‌اچ‌پی زیر را در ابتدای آن قرار می‌دهیم و بعد از آن، دستورات سی‌اس‌اس‌مان را اضافه می‌کنیم:</p>
<pre class="brush: php;">
&lt;?php
session_start();
header(&quot;Content-type: text/css&quot;);
if ($_SESSION[&quot;csskey&quot;] != &quot;user&quot;) {die(&quot;:-)&quot;);}

$_SESSION[&quot;csskey&quot;] = &quot;somethingelse&quot;;
?&gt;

body {background-color: #000; color: #fff; direction: rtl;}
</pre>
<p>فکر کنم متوجه شده باشید که چه اتفاقی قرار است بی‌اُفتد. Content-type را از نوع text/css می‌گذاریم تا مرورگر آن را به‌عنوان یک فایل سی‌اس‌اس تفسیر کند.<br />
سپس می‌گوییم اگر csskey برابر با user نبود، دستورات سی‌اس‌اس را بارگذاری نکن و در خروجی «:-)» را چاپ کن.<br />
اما اگر csskey برابر با user بود، آن‌وقت دوباره csskey را برابر با somethingelse می‌کنیم و در خروجی دستورات سی‌اس‌اس را برمی‌گردانیم.</p>
<p>و در آخر فقط کافی است دو خط زیر را به فایل .htaccess اضافه کنیم:</p>
<pre class="brush: php;">
RewriteEngine on
RewriteRule style.css style.php
</pre>
<p>درواقع ما عملاً هیچ فایلی به‌نام style.css نداریم و با کمک اچ‌تی‌اکسس style.php را تبدیل به style.css می‌کنیم.</p>
<p>شاید تنها ایرادی که این روش داشته باشد این است که برای هربار بارگذاری شدن سایت، باید تعدادی دستور پی‌اچ‌پی اجرا و کامپایل شود و این برای سایت‌هایی که بازدید بالا دارند اصلاً خوب نیست چرا که فشار زیادی به سرور وارد می‌شود و مورد دیگر اینکه حتی با استفاده از این روش نیز دستورات سی‌اس‌اس‌مان همچنان با فایرباگ قابل روئیت می‌باشند!</p>
<p>این روش را <a href="http://www.n1studios.net/" target="_blank">ایشان</a> ارائه کرده‌اند.
<ul class="related_post">
<li><a href="http://aliha.ir/2010/12/29/hyperterminal-jquery-ajax-and-php/" title="ای‌جکس بازی » به‌یاد هایپرترمینال">ای‌جکس بازی » به‌یاد هایپرترمینال</a></li>
<li><a href="http://aliha.ir/2010/11/26/mobile-detection-with-php/" title="تشخیص پلتفرم‌های مختلف با پی اچ پی">تشخیص پلتفرم‌های مختلف با پی اچ پی</a></li>
<li><a href="http://aliha.ir/2010/10/31/video-tutorial-get-started-with-codeigniter/" title="آموزش ویدئویی » شروع کار با CodeIgniter">آموزش ویدئویی » شروع کار با CodeIgniter</a></li>
<li><a href="http://aliha.ir/2010/08/13/imified/" title="رُبات‌های تحت وب درخدمت شما هستند!">رُبات‌های تحت وب درخدمت شما هستند!</a></li>
<li><a href="http://aliha.ir/2010/04/15/ajax-record-delete-from-database-with-jquery/" title="ای‌جکس‌بازی » حذف رکورد از بانک‌اطلاعاتی با جی‌کوئری">ای‌جکس‌بازی » حذف رکورد از بانک‌اطلاعاتی با جی‌کوئری</a></li>
</ul>
<div style="direction: rtl;">
<a href="http://aliha.ir/2010/02/21/css-file-protection/#comments">57 دیدگاه</a> | 
فرستادن به: <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://aliha.ir/2010/02/21/css-file-protection/&title=بیایید کمی سربه‌سر دزدهای پوسته بگذاریم – یک کُد کوچولو!">del.icio.us</a>
<hr />
<p align="center"><a href="http://www.irsaweb.com/"><img src="http://aliha.ir/images/irsaweb-small.png" alt="ایرساوب" /></a></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://aliha.ir/2010/02/21/css-file-protection/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
	</channel>
</rss>

