جدول راه راه تنها، نه خال خالیه راه راه

در نوشته قلبی (
Zebra Table / جدول
راه راه
) چگونگی ایجاد جدول با پس زمینه راه راه ، را مرور کردم. در این نوشته
هم با استفاده از CSS و جاوا امکان تغییر رنگی سطری که مکان
نما بر روی آن قرار دارد را نمایش می دهم.
بدون مقدمه به قطعه HTML زیر توجه کنید :

<style type="text/css">
<!–
    tr.outclr{
    }
    tr.inclr {
    background: #f0badd;
    }
–>
</style>
.
.
.
<table>
<tr class="outclr" onmouseover="this.className=’inclr
‘"onmouseout="this.className=’outclr’">
    <td>
        Hover Table !!!
    </td>
</tr>
</table>

توجه کنید رویدادهای
onmouseover و onmouseout می تواند برای سطر و یا ستون به کار رود. نحوه انتخاب
مکانی که از آن ها استفاده کنید به آرایش جدول شما بستگی دارد.
حال اگر این افکت را همراه با جدول راه راه در نظر بگیرد، و از یک
بانک اطلاعاتی استفاده کنید، چیزی شبیه به نمونه زیر را خواهید داشت :

echo "<table>";
while($row = mysql_fetch_array($sql)){
    $no = $num_results – $from;
    if (!isset($bgflag)) $bgflag = 0;
    if ($bgflag == 1) {
        echo "<tr class=\"outclr\"
onmouseover=\"this.className=’inclr’\" onmouseout=\"this.className=’outclr’\"
valign=\"top\" bgcolor=\"e3eef3\">";
        $bgflag = 2;
    } else {
        echo "<tr class=\"outclr\"
onmouseover=\"this.className=’inclr’\" onmouseout=\"this.className=’outclr’\"
valign=\"top\" bgcolor=\"b3e3f3\">";
        $bgflag = 1;
    }
    echo "<td align=\"center\">";
    echo "$no";
    echo "</td>";
    echo "<td>";
    echo "<a
href=\"http://".$row["link"]."\">".$row["link"]."</a>";
    echo "</td>\n";
    echo "</tr>";
}
echo "</table>";

امیدوارم تا به اینجا
بتوانید از این ترکیب استفاده کنید. سعی می کنم در ادامه این مطلب بک نمونه کامل را
نمایش دهم و فایل آماده را برای استفاده قرار دهم.
حتما روش های دیگری هم وجود دارد، لطفا اگر تجربه ای  داشته اید و یا روش
بهینه تری سراغ دارید مطرح کنید.

پست شد در : دسته‌بندی نشده | برچسب زده شد | ۲ دیدگاه

اجرای خودکار اسکریپت های php با استفاده از cron

می دانید که از
cron
برای انجام یک عمل ( job ) به صورت خودکار و در دوره های
زمانی مشخص استفاده می شود. استفاده های بسیار زیادی برای استفاده از cron
وجود دارد. اجرای یک دستور هر روز ساعت ۸ ، گرفتن نسخه های پشتیبان ( backup
) و یا حتی دانلود کردن فایل ها و ایمیل های شما در نیمه شب !!!
اما در اینجا ، به اجرا کردن یک اسکریپت php با استفاده از
cron
می پردازم. انجام این کار اهداف متفاوتی می تواند داشته باشد، ارسال کردن اطلاعات
مشخصی به دیتابیس ، خواندن اطلاعات یک فایل متنی ، و یا شبیه آن. و یا اجرا کردن
شلغم lol
دو راه برای انجام این کار به نظرم می رسد ،
lynx و
wget /

استفاده از
Lynx :
من این روش را
ترجیح می دهم، با این روش امکان ذخیره و بررسی های بعدی نیز وجود دارد ، و شما
واقعا از یک مرورگر استفاده می کنید.کافی است تا این خط را به فایل تنظیمات
cron اضافه کنید. ( مثلا در لینوکس اینجا : etc/crond.conf/
)

* * * * *
lynx -dump http://pathofurscript/target_script.php
> ~/logs/phpsc.log 2> ~/logs/phpsc.err

توضیح اول : حتما با
قالب فرامین در cron آشنا هستید، اما برای یاد آوری به
ستاره های ابتدای خط بالا اشاره می کنم. ترکیب این ستاره ها یک زمان یکتا را مشخص
می کند.

minute hour DayOfMonth month DayOfWeek

به عنوان مثال ، دستور
زیر هر روز ساعت ۷٫۳۰ تکوپیدیا را لود می کند !!!

۳۰ ۷ * * * lynx
http://weblog.techopedia.net

توضیح دوم : سوئیچ (
فارسی را پاس بدارید، کلید، گزینه..) dump- در مرورگر
lynx تنها نتایج را یک بار نشان می دهد و تمام.
توضیح سوم : نتایج نمایش در فایل phpsc.log و در صورت وجود
خطا در phpsc.err ذخیره می شوند. به این وسیله شما می
توانید از نتایج کار آگاه شوید.

استفاده از
wget :
نتیجه تا حدودی با
مورد قبل یکسان است، اما ممکن است داده های اضافی هم داشته باشید. ( هر چند برخی
اوقات شاید گزارش های wget مفید باشد. ) در هر صورت به
مانند lynx با استفاده از wget هم
این کار را می توانید انجام دهید ، با این تفاوت که شما چون قصد فراخوانی آن صفحه
را داشته اید، اسکریپت بر روی سرور اجرا خواهد شد. نکته فراموش نکنید اگر
قصد انجام این کار را دارید از وب سرور محلی باید حتما استفاده کنید، در غیر این
صورت کدمنبع اسکریپت را دریافت خواهید کرد.

* * * * * wget  –delete-after

http://pathofurscript/target_script.php

توضیح : با استفاده از
delete-after– فایل را بعد از فراخوانی از بین خواهید برد.

فراخوانی
php از خط فرمان
چون این روش
محدودیت هایی دارد، و شاید کاربردی متفاوت ، در قالب مورد های بالا مطرح نشد. شما
می توانید فایل ها را از خط فرمان اجرا و کامپایل کنید. و یا یک فرمان php
را اجرا کنید. دقت کنید در حالت دسترسی به وب سرور خود را ندارید و فقط از مفسر
php استفاده می کنید. مثلا

/usr/bin/php stand_alon_script.php

نکته / برای
اجرای cron با تنظیمات جدید باید آن را دوباره راه اندازی
کنید.

پست شد در : دسته‌بندی نشده | برچسب زده شد | ۴ دیدگاه

استفاده از chroot jail

امنیت را می توان به روش های مختلفی در سیستم ها پیاده سازی کرد.امن سازی و توجه بیشتر به قسمت هایی که ممکن است به عنوان پاشنه آشیل یک سیستم عمل کنند پایداری و اطمینان پذیری سیستم هدف را افزایش خواهند داد. یکی از همین روش ها که از نسخه ۷ UNIX تا به حال ( از سال ۱۹۷۹ ) همواره متداول بوده است به change root jails معروف است.در این روش با استفاده از یک system call به نام chroot یک daemon با همین نام اجرا می شود و root را برای برنامه های اجرایی به یک مسیر دیگر که به آن jail ( زندان ) اطلاق می شود تغییر می دهد.

Application jails, also known as “change root jails” or “chroot jails,” are another effective countermeasure. Supported by all Linux and Unix systems, application jails put up a nearly impenetrable barrier between the “jailed” software and the rest of the system. And because a jail is enforced by the operating system and not by an application, it can provide an enormous level of safety. A chroot jail “incarcerates” untrusted applications, and acts like a guard, almost literally, for applications that already have substantial security measures built-in.

از آنجا که این روش در افزایش ضریب امنیتی برنامه ها می تواند بسیار موثر واقع شود ، بسیاری از daemon ها را می توان به این روش اجرا کرد.معروفترین استفاده از chroot jail برای FTP ها می باشد که به طور مصنوعی یک محیط با دسترسی root برای کاربر FTP ایجاد می کند در حالی که کاربر درون یک chroot jail قرار دارد. سرویس های دیگری مانند وب سرور Apache را هم می توان به این روش اجرا کرد.در این حالت حتی با اجرای CGI اسکریپت های مخرب سیستم می تواند به کار خود ادامه دهد به این دلیل که آشوب در درون زندانی بسته که به بیرون دسترسی ندارد رخ داده است. برای ساختن یک jail شما نیاز دارید تا درون دایرکتوری jail محیطی شبیه به آن چه در واقعیت وجود دارد اینجاد کنید.دایرکتوری های bin lib dev tmp  و برخی دیگر از فایل ها باید دوباره ایجاد شوند و حق دسترسی آن های تعیین شود. برای آشنایی کاملتر و راه اندازی یک chroot jail ساده می توانید از مقاله زیر از مجله Linux Magazine استفاده کنید:

Go Directly to Jail : Secure Untrusted Applications with Chroot What does that mean? Think of chroot() as a kind of reality distorter. Once a running process executes chroot(“/home /jail”), /home/jail becomes “/,” and for all intents and purposes, every file and directory outside of /home/jail (including the true root directory and true /home directory) no longer exist.

همچنین در مقاله زیر از یکی از توسعه دهنده های NetBSD توضیحاتی در مورد chroot jail و چگونگی اجرای برنامه ها در آن داده است.

Securing Systems with chroot by Emmanuel Dreyfus — Recently, support was added to the NetBSD Operating System to run the Network Time Protocol Daemon (ntpd) under an unprivileged user ID in a chroot jail. In the first of two articles, Emmanuel Dreyfus explains buffer overflows — a typical Unix security flaw, then explains a chroot jail and the motivation for running a program in it.

و یک مقاله کامل و خواندنی از LiNUX.com با عنوان Chrooting Apache که راه اندازی Apache تحت chroot jail را توضیح می دهد.

The chroot daemon allows you to run a program and have it see a given directory as the root (/) directory. This effectively locks the process into its very own filesystem (“chroot jail”) isolated from the real / filesystem. In this article we will look at how to install the Apache Web server in such an environment. Installing Apache in a chroot jail does not make Apache itself any more secure. Rather, it serves to restrict the access of Apache and its child processes to a small subset of the filesystem. The advantage in chrooting a process is not in preventing a breakin, but rather in containing a potential threat.