انجمن


نحوه مخفی کردن فایل style.css قالب از دید دیگران؟!  (۷ نوشته)

  • محسن

    آفلاین
    عضو
    تعداد نوشته‌ها: ۳۳۲
    تشکر شده: ۱۳۸ بار
    # نوشته شده: ۱۴ سال پیش
    ۳ آذر ۱۳۸۸ - ۱۸:۱۳

    با سلام
    همینطور که میدونید میشه به فایل style.css قالب یک سایت وردپرسی دسترسی داشت!

    http://digitalnature.ro/wp-content/themes/digitalnature/style.css
    http://www.lightword-theme.com/wp-content/themes/lightword/style.css

    چه جوری میتونم کاری کنم که کسی نتونه به فایل style.css قالب سایت دسترسی پیدا کنه؟!
    با تشکر

  • گناهکار

    آفلاین
    کلیددار
    تعداد نوشته‌ها: ۳۵۳۵
    تشکر شده: ۲۵۴۴ بار
    # نوشته شده: ۱۴ سال پیش
    ۳ آذر ۱۳۸۸ - ۱۹:۵۳

    فکر نمی‌کنم راهی وجود داشته باشه٬ چون از نظر منطقی هرچیزی که مرورگر تفسیر می‌کنه٬ توسط بیننده قابل دیدن هست.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - Saeed Fard
  • Mostafa

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۵۲۷۶
    تشکر شده: ۵۷۷۷ بار
    # نوشته شده: ۱۴ سال پیش
    ۴ آذر ۱۳۸۸ - ۲۳:۳۹

    افزونه اي هست به نام No Copy كه دقيقا براي اين كار ساخته شده
    اما كار نميكنه !

    == Frequently Asked Questions ==
    = How to view the content in a blog where No Copy is installed? =
    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Saeed Fard - Omid Sh
  • FreeBlog.ir

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۵۰
    تشکر شده: ۱۴۹ بار
    # نوشته شده: ۱۴ سال پیش
    ۷ آذر ۱۳۸۸ - ۲۲:۳۶

    امکان این کار نیست

  • mnop

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱
    تشکر شده: ۳ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۷ بهمن ۱۳۸۹ - ۰۵:۴۱

    آموزش مخفی کردن فایل های css !

    برای این‌کار از PHP و htaccess استفاده می‌کنیم.
    فرض می‌کنیم یک صفحه‌ای داریم به‌نام index.php کدهای اچ‌تی‌ام‌ال زیر را هم در آن داریم:

    کد:

    <html>
        <head>
        <link rel=”stylesheet” type=”text/css” href=”style.css” />
        </head>
        <body>
        hello world
        </body>
        </html>

    حالا کد پی‌اچ‌پی زیر را به بالای index.php اضافه می‌کنیم، یعنی قبل از شروع شدن باید قرار بگیرد:
    کد:

    <?php
        session_start();
        $_SESSION["csskey"] = “user”;
        ?>

    با این‌کار برای کاربر در هنگام ورود یک سشن با نام csskey که برابر با user است، ست کردیم.
    سپس یک فایل با نام style.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;}

    فکر کنم متوجه شده باشید که چه اتفاقی قرار است بی‌اُفتد. Content-type را از نوع text/css می‌گذاریم تا مرورگر آن را به‌عنوان یک فایل سی‌اس‌اس تفسیر کند.
    سپس می‌گوییم اگر csskey برابر با user نبود، دستورات سی‌اس‌اس را بارگذاری نکن و در خروجی «:-)» را چاپ کن.
    اما اگر csskey برابر با user بود، آن‌وقت دوباره csskey را برابر با somethingelse می‌کنیم و در خروجی دستورات سی‌اس‌اس را برمی‌گردانیم.
    و در آخر فقط کافی است دو خط زیر را به فایل .htaccess اضافه کنیم:
    کد:

    RewriteEngine on
        RewriteRule style.css style.php

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

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    doctorbeta - Saeed Fard - Mostafa
  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۷ بهمن ۱۳۸۹ - ۲۰:۰۲

    شما هر کاری بکنی باز باید تفسیر بشه و با یک save as ساده ذخیره میشه.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Mostafa
  • Saeed Fard

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۹۸۲
    تشکر شده: ۱۶۱۵ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۷ بهمن ۱۳۸۹ - ۲۰:۰۳

    با احترام ..
    من هم قبلا یه جایی خوندم که این کار امکان پذیر نیست ، چون همون طور که گناهکار عزیز گفتن مرورگر باید استایل رو بخونه و اگه در دسترس نباشه که نمیشه..
    و روشی هم که mnop گفتن منطقی به نظر میرسه ، ولی استایل کلا روی مرورگر ذخیره میشه و با این کار هر دفعه دستورات بیشتری باید کامپایل شه که خودشون هم گفتن ، که سرعت لود قالب سایت رو هم کاهش میده.. و به غیر از این هم راهی برای مخفی کردن استایل اصلا وجود نداره.. همه بااین موضوع ساختن ، بهتره شما هم این طور باشی..
    اگه مشکلتون هم حل شد آیکون تاپیک رو به حل شده تغییر بدید..با تشکر..
    موفق باشید../.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Mostafa

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.