آیا همیشه برای تغییر آدرس ، انتقال اطلاعات سایت لازم است؟

اطلاعات حجیمی روی یکی از پوشه های یک سروری (I) دارید اما سایتتان روی یک سرور دیگر (II)هست چه راهی برای لینک دهی به سرور (I) در سایتان دارید ، در حالی که نمیخواهید دامنه ی سرور (I) را به بازدیدکنندگان نشان دهید ؟

data transfer (بیشتر…)

کار با فایل های RAR در سرور لینوکس (نصب ، فشرده سازی و باز کردن)

لینوکس بصورت پیش فرض نمی تواند فایلهای RAR را باز کند یا آن ها را از حالت فشرده خارج کند ، این مسئله در اسکریپتهای کار با فایل مثل rapidleech در هنگام UnRar کردن فایلها باعث ایجاد خطا می شود  .  این مشکل در سرور ویندوز راحتتر حل می شود و می توان با نصب Winrar براحتی با این فایلها کار کرد.

در این نوشته قصد دارم در ابتدا به نصب برنامه Unrar در لینوکس بپردازم و سپس کار با آن را به طور کامل شرح دهم .

(بیشتر…)

انتقال مستقیم اطلاعات بین دو هاست با FTP

برای انتقال اطلاعات بین دو سرور یا می بایست اسکریپتهای Leech نصب کنید که معمولا در هاست های اشتراکی اجازه چنین کاری را ندارید یا فایلها را دانلود کرده و دوباره آپلود کنید که علاوه بر مصرف ترافیک اینترنت زمان زیادی طول خواهد کشید .

کسانی که دسترسی به سرور دارند معمولا مشکلی از این بابت برای انتقال ندارند اما در صورتی که 2 هاست معمولی دارید و دسترسی به سرور هم ندارید و می خواهید انتقال اطلاعات بین این دو هاست بدون مصرف ترافیکتان داشته باشید می توانید از سرویس دهنده ی آنلاین directransfer.net استفاده کنید .

در این سرویس رایگان به سادگی و بدون ثبت نام  بوسیله ی FTP می توانید بین دو هاست انتقال اطلاعات داشته باشید .

(بیشتر…)

افزایش مهلت اجرای اسکریپت php در apache

بعضی از اسکریپتهای PHP برای کارکردن احتیاج به زمان بیشتری نسبت به حالت پیش فرض دارند . مثلا رپیدلیچ rapidleech برای انتقال فایلهای سنگین بالای 400 mb معمولا به زمان زیادی احتیاج دارد و اگر مهلت زمانی کافی نداشته باشد در حین انتقال خواهد ایستاد ، در این نوشته قصد دارم تنظیمات افزایش این مهلت زمانی را شرح دهم .

در صورتی که سرور اختصاصی دارید و دسترسی به فایلهای نصب شده ی Apache را دارید می بایست تنظیمات زیر را در فایل php.ini پیدا کنید . در سرورهای لینوکس در مسیر /etc/php.ini آن را پیدا می کنید .

 

=> max_execution_time : مدت زمانی اجرای اسکریپت که پیش  فرض آن 30 ثانبه می باشد .

=> max_input_time : مدت زمانی که انتقال اطلاعات در اسکریپت انجام می شود که پیش فرض آن 60 ثانیه می باشد .

=> memory_limit : مقدار رم ای که هر اجرای اسکریپت از حافظه رم اشغال می کند .

(بیشتر…)

جلوگیری از اسپم شدن ایملیهای سرور ( تست SPF )

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

یک حالت هم ممکن است وجود داشته باشد و آن قبول نشدن ایمیلهای شما در تست SPF است . جیمیل نسبت به یاهو نسبت به این تست حساس تر است ، در این نوشته قصد دارم تنظیمات DNS برای قبول شدن در تست SPF را توضیح دهم ،  این کار را می توانید در تنظیمات DNS همه ی کنترل پنلها ، هم روی سرور ویندوز و هم لینوکس انجام دهید . در اینجا من تنظیمات را بطور نمونه روی سرور لینوکس با کنترل پنل Kloxo توضیح می دهم .
(بیشتر…)

10 کد بسیار مفید htaccess ( قسمت دوم )

در این نوشته قصد دارم قسمت دوم دستورات htaccess را ادامه بدهم  ، بیشتر مطالب این قسمت مسائل امنیتی و مسدود کردن های ضروری است .

1- جلوگیری از اجرای بعضی فایلها

فرض کنید که می خواهید اجازه آپلود فایلهای برنامه مثل php را به کاربر بدهید اما نمی خواهید فایلهای آپلود شده اجرا شوند ، مثلا در بعضی آپلود سنتر های خاص که می خواهند اجازه آپلود همه نوع فایل را بدهند مفید و حیاتی است که این فایلها اجرا پذیر نباشند .

یک روش این است که در هنگام فراخوانی ،  فایل را فقط مجبور به دانلود کنیم :

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3

 

همچنین می توانید موتور اجرای php را در آن پوشه خاموش کنید ، در این حالت هنگام اجرای فایل php  خطایی نمایش داده خواهد شد :

php_flag engine off

برای اطمینان بیشتر می توان از ترکیب این دو کد به صورت زیر استفاده نمود .

RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off

یک روش هم این است که نه اجازه اجرا به فایل بدهیم و نه اجازه دانلود ، مثلا خطای 403 Forbidden به کاربر نمایش دهیم .

 

# secure directory by disabling script execution
 AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi Options -ExecCGI

در کد بالا فایلهای زیادی را می توانید با اضافه کردن فرمتشان مسدود کنید .
روش دیگر نمایش سورس بعضی فایل های اسکریپت مثل cgi است هنگامی که قصد اجرای آن را داشته باشیم . ( برای php جواب نمی دهد )

RemoveHandler cgi-script .pl .py .cgi

(بیشتر…)

10 کد بسیار مفید htaccess (قسمت اول)

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

در این نوشته شما با 10 کد بسیار کاربردی htaccess آشنا می شوید . فقط کافیست کد های زیر را با دامنه خودتان شخصی سازی کنید و در فایل .htaccess موجود در شاخه اصلی سایتتان کپی کنید  .

1- اضافه کردن slash به آخر آدرس سایت

وجود slash در آخر آدرسهای سایت در بعضی موارد به SEO شدن سایتان از لحاظ موتورهای جستجو کمک میکند ، با استفاده از این کد می توانید به طور خودکار Slash را به آخر آدرس سایتتان اضافه کنید .

 RewriteCond %{REQUEST_URI} /+[^\.]+$
 RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

2- جلوگیری از استفاده مستقیم از عکسها و فایلهای شما در سایتهای دیگر

با استفاده از این کد می توانید استفاده  مستقیم بقیه ی سایتها را از منابع سایتتان محدود کنید. قرار دادن عکس آپلود شده در سرور شما در دیگر سایتها ممکن است موجب مصرف بی مورد ترافیک شود ، در کد زیر بجای mysite دامین خودتان را وارد کنید و تمامی hotlink ها را به عکس دیگری مثلا nohotlink.jpg روانه کنید .

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

(بیشتر…)

اجرای Cron Job لینکی در CodeIgniter

CronJob یک سرویس از سرور هست که در زمانی که شما تعریف می کنید می تواند یک عملی ( مثلا یک فایل PHP )  را خودکاراجرا کند .

لینک ها در CodeIgniter بصورت SEO شده می باشند ، به این صورت که آدرس فایل PHP  در نوار آدرس قرار نمی گیرد و همه ی توابع در Controller معرفی می شوند ،‌ اما در کنترل پنلهای هاست می بایست آدرس یک فایل PHP را بدهیم تا  در وقت مناسبی بصورت خودکار اجرا شود . در این نوشته قصد داریم روشی را به شما معرفی کنیم که هر تابعی از Controller  را با آرگومان های دلخواه بصورت  CronJob اجرا  کنید .

(بیشتر…)

افزایش ظرفیت دیسک مجازی ابونتو WUBI

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

(بیشتر…)

تغییر ساعت سرور لینوکس با استفاده از Shell

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

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

(بیشتر…)