جلوگیری از ریپ شدن قالب و فایل استایل

Jim Jim

Well-Known Member
آموزش مخفی کردن فایل های css!
برای این کار از PHP و .htaccess استفاده می‌کنیم
فرض می‌کنیم یک صفحه‌ای داریم به نام index.php کدهای HTML زیر را هم در آن داریم:

HTML:
<html>
<head>
<link rel=”stylesheet” type=”text/css” href=”style.css” />
</head>
<body>
Majid Online
</body>
</html>

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

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

با این‌کار برای کاربر در هنگام ورود یک سشن با نام csskey که برابر با user است، ست کردیم.
سپس یک فایل با نام style.php می سازیم و تکه‌ کد PHP زیر را در ابتدای آن قرار می‌دهیم و بعد از آن، دستورات CSS‌ مان را اضافه می‌کنیم:

[PHPS]
<?php
session_start();
header(“Content-type: text/css”);
if ($_SESSION["csskey"] != “user”) {die(“:)”);}

$_SESSION["csskey"] = “somethingelse”;
?>
[/PHPS]
[CSSS]
body {background-color: #000; color: #fff; direction: rtl;}
[/CSSS]

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

HTML:
RewriteEngine on
RewriteRule style.css style.php

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

این کار یکم کار کسانی که میخوان قالب رو ریپ کنند سخت تر میکنه
 

pix07

Member
روش جالبی بود من از خیلی وقت قبل روی یه متد کار میکردم که بشه قالب ها رو حفاظت کنم البته به جاهایی هم رسیدم ولی متاسفانه باز هم یه راهایی برای نفوذ هست ..
 

Jim Jim

Well-Known Member
میشه هم فایل های css رو در هم دیگه ایمپورت کرد و مثلا کلاسی که برای فیلدها نوشتید رو، نصفش رو در یک فایل بگذارید و بخش دیگرش رو در فایل دیگه
درواقع پراکنده کنی که اگر کلاس یا آیدی رو تشخیص داد، نتونه به راحتی قسمت های دیگرش رو استفاده کنه و درواقع فایل ناقص بمونه

در بسیاری از قالب های وردپرس این روش استفاده می شه!
 

mahyar_k3

Member
اگه سایت بازدید کننده زیاد داشته باشه، این شیوه خیلی راحت سرور رو می ترکونه چون برای هر کاربر باید یه سشن درست کنه و کلی کار دیگه.
ولی اگه بازدید کننده کم باشه به سادگی جواب میده.
 

جدیدترین ارسال ها

بالا