گروپ دیزاین | ارائه دهنده خدمات نوین

محافظت از استایل قالب

 22 سپتامبر 2014

برای جلوگیری از مشاهده کردن استایل سایت خود یا همان فایل های که پسوند سی اس اس دارند میتوانید از کد های ادامه مطلب استفاده کنید.

css-protection محافظت از استایل قالب

برای این‌کار از پی‌اچ‌پی و اچ‌تی‌اکسس استفاده می‌کنیم.

فرض می‌کنیم یک صفحه‌ای داریم به‌نام 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: #000; 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 می‌کنیم.

شاید تنها ایرادی که این روش داشته باشد این است که برای هربار بارگذاری شدن سایت، باید تعدادی دستور پی‌اچ‌پی اجرا و کامپایل شود و این برای سایت‌هایی که بازدید بالا دارند اصلاً خوب نیست چرا که فشار زیادی به سرور وارد می‌شود و مورد دیگر اینکه حتی با استفاده از این روش نیز دستورات سی‌اس‌اس‌مان همچنان با فایرباگ قابل روئیت می‌باشند!