نقل و نبات شماره هجدهم (tips & tricks) Basic access authentication

خوب امروز مجبور شدم برای تامین امنیت بیشتر یه دایرکتوری تو سرورم یه Basic access authentication براش بسازم ! اما این چی چی هست اصلا؟

خوب طبق گفته ویکیپدیا :

In the context of an HTTP transaction, basic access authentication is a method for a web browser or other client program to provide a user name and password when making a request.[1]

 

خوب ساختن این تو آپاچی دو قسمت داره!

اول داشتن یه فایل حاوی نام کاربری و کلمه عبور به صورت زیره :‌

 

htpasswd -c  .htpasswd username

خوب با این دستور یه توی فایلی به نام .htpasswd نام کاربری به نام username ساختیم!

پسوردشم خودش میگیره و هش میکنه و میزنه تنگ همون فایل :D

خوب بعد این کار ما باید به اپاچی بگیم رو کدوم پوشه ها اینو اعمال کنه! که میشه مرحله دوم کار

این کار رو میشه هم با دست بردن تو کانفیگ فایل اپاچی کرد هم با ساختن فایل .htaccess

من ساختنه فایلو ترجیح میدم چون احتیاج به رسیتارت اپاچی نداره! پس تو پوشه مورد نظرمون فایلرو میسازمو توشو اینجوری پر میکنیم :D

“انگار دارم نحوه ی پر کردن مرغ شکم پورو میگم :P”

AuthName “Restricted Area”
AuthType Basic
AuthUserFile /home/zanjanhost/public_html/.htpasswd
AuthGroupFile /dev/null
require valid-user

و فکر میکنم گزینه ها گویا باشه! اگر برایتون گویا نیست برین گوگل کونید چون من تو نقل و نباتام روده درازی نمیکنم :D

هر جا این فایل htaccess رو بزارین به همه ی اون فولدر و فولدر های داخلش اعمال میشه! حالا امدیم خواستیم به یکی از این sub directory ها اعمال نشه چی؟!؟

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

Satisfy Any

خدایا چرا؟

سلام خدا

امشب چشم به عکس زیر خوردو داغ دلم تازه شد

باز به این فکر میکردم که دنیات نمیتونست کارملترو بهتر از این باشه؟

وقتی اوضاع افریقا رو میبینم ! یا مردمانی مثل عکس بالا، به همه چی شک میکنم، همه چی!

تولد ۲۴ سالگی!

خوب الان نیم ساعته که ۲۴ ساله شدم! :D
هبچ احساس خاصیم ندارم جز این که اینم یه سال دیگه از زندگیم! چی شد ؟!؟ چی کار کردم!

اما بهرحال زندگیه دیگه و اینو مثلا میتونم بهانه کنم برای یه سری تغییرات! به قول جادی کارای بامزه کنمو شاد باشم :D

برای مثال بزنم آخرین ویندوزمو که البته فک کنم ۴ ساله رو لب تاپم ارجینال نصبه پاک کنم و برای همیشه واقعا ازش خداحافظی کنم ! :D

چیه؟!؟ انتظار داشتین یه لینوکسی روز تولدش چی کار کنه؟ :P

از دوست خوبم بهنام توکلی مدیر فروشگاه sito هم ممنونم که برام یه تی شرت we made it فرستاده ! خیلی وقت بود دوست داشتم از اینا داشته باشم :D

نقل و نبات شماره هفدهم (tips & tricks) عبارات منظم در php

چندی پیش وقتی داشتم با سیستم cakephp کارمیکردم یه جایی مجبور شدم یه تبدیل رو در تمام اسامی کنترلرهام انجام بدم و بعد از تبدیل، در لینک هام استفاده کنم!

به این صورت که اگر اسم کنترلی HmTicket بود اونو تبدیل به Hm_Ticket کنم و یا اگر HmTicketSegment بود باید تبدیل میشد به Hm_Ticket_Segment ! و خوب شروع کردم مثل همیشه چرخ رو دوباره از تو اختراع کردنو …

اما از بد یا خوب حادثه! توی فانکیشنی که برای این کار طراحی کردم بودم یه مشکلی پیش امد که رفتم از دوست خوبم دادا بهروز بپرسم ، اونم گفت فلانی بیا اصلا به جای ریپلیسی هم که استفاده کردی خودت از نو فانکشن بنویس!

این کارو خیلی راحت میشه با عبارات منظم تو یه خط اینجام داد! و کد زیرو بهم داد:

ltrim(preg_replace(‘/[A-Z]{1}/’, ‘_$0′, ‘BehRooz’), ‘_’)

و ما مثل همیشه در کف عبارات منظمو دادا موندیم ;)

نقل و نبات شماره شانزده (tips & tricks) جایگزینی یک متن در تمام فایهل با بش اسکریپت

یه روز یکی از مشتریهام زنگ زدو و گفت عنوان سایتشو عوض کنم! خوب این چیزه مرسومیه اما مشکل این بود که سایتشو با روش خیلی قدیمی ، یعنی با phpخالی و Dreamviwer در زمانی که ویندوزی بودم و حتی نگاه درستی به توسعه سایت نداشتم، نوشتم ! تو این حالت هم باید کل فایل ها رو درست میکردم که کار واقعا اعصاب خرد کنی بود! اما حالا من مثلا با ترجبه تر و پخته تر شدم! و شانسیم که آوردم دسترسی ssh به سایته بود ;)

بنابراین با کمی بش اسکریپت و عبارات منظم این کارو کردم :D

 

for f in *.php
    do  
 sed -i  's,<title>.*</title>,<title><?php include("title.php"); ?></title>,g' "$f"
  done

نقل و نبات شماره پانزده (tips & tricks) ماههای میلادی

یکی از مشکلاتی که دارم درک نکردن ماهای میلادیه! مثلا اینکه الان تو چه ماهیم! این ماه میلادی ماه چندم سال میلادیه! اصلا ترتیب توالی ماههای میلادی چه شکلیاس؟ و خیلی چیزای دیگه که بعضا تو کارها هم لازم میشه :)
اما مثل همیشه لینوکس حلال مشکلات یاور میشه ! کافیه تو خط فرمان بنویسم :
cal -y
و جدول زیبای زیر بهم نمایش داده میشه و حتی روزیم که توش قرار دارم با یه رنگ دیگه مشخص میکنه ;)