برای جلوگیری از مشاهده کردن استایل سایت خود یا همان فایل های که پسوند سی اس اس دارند میتوانید از کد های ادامه مطلب استفاده کنید.
برای اینکار از پیاچپی و اچتیاکسس استفاده میکنیم.
فرض میکنیم یک صفحهای داریم بهنام index.php؛ کدهای اچتیامال زیر را هم در آن داریم:
[codesyntax lang=”php”]
| <html> <head> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> سلام جهان! </body> </html> |
[/codesyntax]
حالا کد پیاچپی زیر را به بالای index.php اضافه میکنیم، یعنی قبل از شروع شدن <html> باید قرار بگیرد:
[codesyntax lang=”php”]
| <?php session_start(); $_SESSION["csskey"] = "user"; ?> |
[/codesyntax]
با اینکار برای کاربر در هنگام ورود یک سشن با نام csskey که برابر با user است، ست کردیم.
سپس یک فایل با نام style.php می سازیم و تکهکد پیاچپی زیر را در ابتدای آن قرار میدهیم و بعد از آن، دستورات سیاساسمان را اضافه میکنیم:
[codesyntax lang=”php”]
| <?php session_start(); header("Content-type: text/css"); if ($_SESSION["csskey"] != "user") {die(":-)");} $_SESSION["csskey"] = "somethingelse"; ?> body {background-color: #۰۰۰; color: #fff; direction: rtl;} |
[/codesyntax]
فکر کنم متوجه شده باشید که چه اتفاقی قرار است بیاُفتد. Content-type را از نوع text/css میگذاریم تا مرورگر آن را بهعنوان یک فایل سیاساس تفسیر کند.
سپس میگوییم اگر csskey برابر با user نبود، دستورات سیاساس را بارگذاری نکن و در خروجی «:-)» را چاپ کن.
اما اگر csskey برابر با user بود، آنوقت دوباره csskey را برابر با somethingelse میکنیم و در خروجی دستورات سیاساس را برمیگردانیم.
و در آخر فقط کافی است دو خط زیر را به فایل .htaccess اضافه کنیم:
[codesyntax lang=”php”]
| RewriteEngine on RewriteRule style.css style.php |
[/codesyntax]
رواقع ما عملاً هیچ فایلی بهنام style.css نداریم و با کمک اچتیاکسس style.php را تبدیل به style.css میکنیم.
شاید تنها ایرادی که این روش داشته باشد این است که برای هربار بارگذاری شدن سایت، باید تعدادی دستور پیاچپی اجرا و کامپایل شود و این برای سایتهایی که بازدید بالا دارند اصلاً خوب نیست چرا که فشار زیادی به سرور وارد میشود و مورد دیگر اینکه حتی با استفاده از این روش نیز دستورات سیاساسمان همچنان با فایرباگ قابل روئیت میباشند!