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

تبلیغات

تبلیغات متنی

تریدینگ ویو

لمینت دندان

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

طراحی کاتالوگ فوری

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

وکیل کرج

خرید تیشرت مردانه

وام لوازم خانگی

نتایج انتخابات ریاست جمهوری

خرید ابزار دقیق

خرید ریبون

موسسه خیریه

خرید سی پی کالاف

واردات از چین

دستگاه تصفیه آب صنعتی

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

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

خرید نهال سیب سبز

قیمت پنجره دوجداره

بازسازی ساختمان

طراحی سایت تهران سایت

دیوار سبز

irspeedy

درج اگهی ویژه

ماشین سازان

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

شات آف ولو

تله بخار

شیر برقی گاز

شیر برقی گاز

خرید کتاب رمان انگلیسی

زانوبند زاپیامکس

بهترین کف کاذب چوبی

پاد یکبار مصرف

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

بلیط هواپیما

 






آمار وبسایت

 تعداد کل بازدیدها : 1816904314




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

نمایش Eror صفحات Php -


واضح آرشیو وب فارسی:سایت ریسک: نمایش Eror صفحات Php هادی ابراهیمی 16 مهر 1385, 12:49چیجوری میشه با فایل .htaccses کاری کرد کهError (PHP) صفحات نمایش داده بشه منظورم طرز استفاده از این فایل ممنون میشم یک مثال بزنید siavashmusic 08 آبان 1385, 02:23اگه یه جستجویی توی انجمن میکردی حتما به نتیجه میرسیدی با این لحاظ من برات کاملترین مبحث رو گذاشتم فايلهاي .htaccess يا distributed configuration files كه شايد خيلي ديده باشيد در واقع فايلهاي مخصوص كنترل آپاچي هستن كه روي يه شاخه و تمام زير شاخه هاي اون عمل مي كنن كه با وجود مورد استفاده بودن كمي محجور موندن . اين فايلها براي كاركرد در كنار فايلهاي معمولي html يا php قرار ميگيرن و نام اونها فقط .htaccess ميتونه باشه ( هر چند كه با دستبردن تو تنظيمات اصلي آپاچي ميشه اسمشونو عوض هم كرد) اين فايلها از تگهاي مخصوص آپاچي استفاده ميكنن البته cgi script هم مي پذيرن تو اين پست سعي ميكنم تعداد محدودي از كاربردها رو به زبان ساده بگم چند تا نكته هست كه بايد بدونيد: در ويندوز اجازه درست كردن فايل اصلي كه ما واسه فعاليتمون نياز داريم رو نميده چون .htaccess يه فايل بدون نام هست !!! اما با اين كد ساده php توي لوكال هاست هم ميتونيم اچتي اكسس رو ايجاد كنيم و در آخر اينكه اگه يه حرف يا حتي يه space اينور و اونور بزنيد باعث server error ميشه و سايت بالا نمي ياد كاربرد اول- تغيير صفحات خطا شما ميتونيد صفحات خطاي 404 يا 500 و ... رو به دلخواه خودتون طراحي و به اين طريق بشناسونيد ErrorDocument 404 /404.html ErrorDocument 500 /500.html توضيح: خيلي واضح هست ErrorDocument xxx /xxx.html كاربرد دوم-مخفي كردن فرمت ها ، شناساندن فرمتهاي جديد (add mime type) يك راه امنيتي كه من واقعا پيشنهاد ميكنم واسه حفاظت از اسكريپت هاي php شما اينه كه اونا php نباشن !! بله يعني مثلا asp يا jsp باشن اينطوري هكرا واقعا گيج ميشن AddType application/x- .asp .jsp توضيح: اول Addtype ميگه كه ما ميخوايم يه فرمت جديد بشناسونيم بعد نوع اون فايلهاي خاص با فرمت دلخواهمونو ميگيم مثلا image/png يا text/css بعد ميگيم كه چه فرمتي رو از اين به بعد به عنوان نوعي كه گفتيم بشناس اما فرض كنيد ميخوايد از shtml , ssl در سايتتون استفاده كنيد و نياز به شناساندن اين فرمتها به آپاچي داريد : AddType text/html .shtml AddHandler server-parsed .shtml Options Indexes FollowSymLinks Includes كاربرد سوم - از index.php يا index.html خسته نشديد؟ با اين كد هم ميشه به وب سرور امر كرد كه كدام فايل به عنوان صفحه نخست و به قولي ايندكس به درخواست دهنده فرستاده بشه homearea.php رو به هر فايلي با هر نامي تغيير بديد. توضيح: خيلي واضح DirectoryIndex يه فاصله و بعد هر نام فايلي با هر فرمتي كاربرد چهارم - redirect يا برو همونجايي كه من ميگم ... Redirect /Dirold/old.html توضيح: در اينجا ما ميگيم كه مرورگري كه درخوست فايل old.html رو در شاخه dirold داشت بره به آدرس كاربرد پنجم - تامين امنيت با IndexIgnore اين يكي ديگه يه شگرد امنيتي خيلي عاليه درصد بالايي از هكرها بعد از نفوذ با browse كردن در دايركتوريهاي سايت شما و گشتن به دنبال فولدرها يا فايلها با پرميشن مطلوب كارشونو تكميل ميكنن و البته خيلي ها از اول از روش ديد زدن فولدرهايي كه حاوي موتور اسكريپت ها و اطلاعات با ارزشي هستن مثلا فايل config رو در بردارن به سايت نفوذ ميكنن برنامه نويسا و php كارها واسه جلوگيري از اين كار ميان و يه index.html خالي درست ميكنن اما با اين كد ميشه يه صفحه مربوط به خالي بودن فولدر رو نشون داد يعني هيچي تو اين شاخه نيست در حالي كه شاخه ميتونه پر فايل باشه ... IndexIgnore * توضيح: واضحه ديگه ولي اگه مثلا خواستيد فقط يه نوع فايل محافظت شه مثلا فقط فايلهاي pdf مينويسييد : IndexIgnore application/pdf كاربرد ششم - DefaultCharset خسته نشديد از بس بالاي صفحاتتون Charset فارسي (utf-8 يا windows-1256) رو ست كرديد؟ خوب با اين كد كوتاه شما به آپاچي محترم ميگين كه هميشه صفحات رو با يه charset خاصي ارسال كن AddDefaultCharset utf-8 كاربرد هفتم - deny from all اين يكي بيشتر واسه فايل هايي به كار ميره كه حاوي اطلاعات با ارزشين ولي محافظت نميشن ( مثلا mt-config.cgi ) اين كد ميگه كه هيچ مرورگر ي نتونه سورس اينها رو ببينه <Directory /> Order Deny,Allow Deny from All </Directory> البته میشه این دسترسی رو فقط واسه یه آی پی محدود کرد order allow,deny deny from 123.45.6.7 deny from 012.34.5. allow from all كاربرد هشتم - محدود كردن يك عمليات خاص اينم دو تا كد امنيتيه ديگه كه خيلي ميتونه تو دست و پاي هكرا بپيچه <Limit POST PUT DELETE> </Limit> كارش فكر كنم مشخص باشه <LimitExcept POST GET> </LimitExcept> شما به بومبرينگ اعتقاد داريد ؟ اين كد جلوي FSOCKOPEN و جوجه هكرا رو ميگيره - كاربرد نهم rewrite engine اول از همه Apache RewriteEngine بايد در وب سرور شما فعال باشه . اگه دسترسي داريد ميتونيد اين خط رو در اضافه كنيد : LoadModule rewrite_module modules/mod_rewrite.so اگرم بهش دسترسي نداريد با توجه به اين كه هاستينگاي ايران همه ريسيلر سوم چهارمن !!! اين كد هم شايد بتونه كار كنه بايد تو همون اچتي اكسس كپي كنيد <IfDefine ReverseProxy> LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/libproxy.so </IfDefine> اگه از easyphp يا xampp واسه لوكال استفاده ميكنيد از سرچ ويندوز واسه پيدا كردن فايل استفاده كنيد و بعد همون خط رو بش اضافه كنيد. اين همون چيزيه كه واسه ساب دومين مجازي هم به كار ميبريم من يه مثال سادشو واستون ميزنم فرض كنيد يه وبلاگ داشتيد با اين آدرس حالا بلاگتون آدرسش عوض شده به اين البته دقت داشته باشيد اين هيچ ربطي به redirct نداره RewriteEngine on RewriteRule ^ehsan(/.*)?$ /knowhow$1 [R=permanent] یکی از بهترین امکاناتی که اپاچی بهتون میده بهش mod_rewrite هستش که باعث میشه سایتتون خیلی تمیزتر بنظر بیاد و به عبارتی SEO بشه !!! تو هرجایی که شما بخواید از mod_rewrite استفاده کنید نیاز دارید که کد Options +FollowSymlinks RewriteEngine on رو در فایل تون قرار بدید بزارید یک مثال بزنم , میخوایم تمام صفحات پی اچ پی رو تبدیل کنیم به اچ تی ام ال : Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*).htm$ $1.php [nc] در دستور بالا ما گفتیم هر فایل که فرمتش پی اچ پی بود تبدیلش کن به .htm ولی این دلیل براین نیست که فرمت فایل عوض میشه نه!!! بلکه به هردو صورت دسترسی به فایل امکان پذیر هست برای مثال اگه یه فایل file.php داشته باشیم هم میتونیم با اسم file.htm بهش دسترسی پیدا کنیم و هم از file.php . [nc] : این دستور یعنی No Case یا همون case-insensitive خوب فرض کنید اسم دومینمون رو عوض کردیم ولی فایل هامون همون قبلی ها هستن و میخوایم هرکسی تو دومین اولی یک فایل رو فراخوانی کرد ما همون فایل رو تو دومین دوم صدا بزنیم اینجور عمل میکنیم : Options +FollowSymlinks rewriteengine on rewriterule ^(.+).htm$ $1.php [r=301,nc] 301 یعنی مستقیما ریدایرکت شده , دستور بالا زمانی خوبه که یه سایت قدیمی داریم حالا میخوایم update کنیم با این کار حتی موتور های جستجو خودشون اتوماتیک اپدیت میکنن لینک رو !!! بزارید یخورده جذاب تر کنیم , به این کد نگاه کنید Options +FollowSymlinks RewriteEngine on RewriteRule ^myfiles/(.+)/(.+).zip download.php?section=$1&filename=$2 [nc] بزارید ساده بگم اگه شما عبارت (.+) رو مساوی با 1$ فرض کنیم ( 1$=(.+) )ما میتونیم چندین بار از این عبارت استفاده کنیم به این صورت که بار اول که از (.+) استفاده میکنیم مساوی با 1$ میگیریم در دفعه دوم مساوی با 2$ میگیریم و همینطور الا اخر . در مثال بالا برای مثال اگه ما یه فایل در مسیر داشته باشیم این لینک از ادرس زیر هم در دسترس خواهد بود : بزارید یه مثال دیگه از همین نوع بزارم : Options +FollowSymlinks RewriteEngine on RewriteRule ^blog/([0-9]+)-([a-z]+) $1-$2 [nc] حالا اگه ادرس ارشیو وبلاگ ما بصورت : باشه تبدیل میشه به : به همین سادگی میبینید که با کمی Regular Expression میتونید ادرس هاتون رو خیلی زیباتر کنید چند تا راهنما براتون میزارم تا راحت تر بتونید استفاده کنید : . Any single character [chars] یکی ار کاراکترها میتونه این باشه برای مثال [A] [^chars] هیج یک از این کاراکتر ها نباشه برای مثال [^A] text1|text2 همون کار or رو انجام میده Quantifiers: ? میتونه یک کاراکتر باشه و یا هیچ کاراکتری * هرچیزی میتونه باشه حتی اگه چیزی وجود نداشته باشه + حداقل یک کاراکتر وجود دارد Grouping: (text) برای ساختن گروه بکار میره Anchors: ^ شروع $ پایان Escaping: char برای مثال برای درنظر نگرفتن علائمی مثل [] یا . یا غیره هست در این مواقع به عنوان دستور در نظر نمیگیره بزارید یه مثال دیگه بزنیم Options +FollowSymlinks RewriteEngine On RewriteRule ^get(.*) /public/download/download.php$1 در مثال بالا ما گفتیم هر ادرسی که بعد از download.php قرار گرفت تبدیلش کنه به ادرس برای مثال اگه ادرسمون اینجوری باشه : تبدیل میشه به : در مثال بعدی میخوایم دسترسی به پوشه هارو بگیریم از کاربر Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)$ deny.php [nc] تو قسمت بالا اگه کاربر بخواد به هر نحوی وارد یه پوشه بشه ریدایرکت میشه به deny.php بزارید در مثال بعدی کاری کنیم که فقط به فایل های خاصی دسترسی داشته باشه و بجز اون هر فایلی خواست باز کنه ارور بده : Options +FollowSymlinks RewriteEngine On rewritecond %{REQUEST_FILENAME} !^(.+).css$ rewritecond %{REQUEST_FILENAME} !^(.+).js$ rewritecond %{REQUEST_FILENAME} !file.php$ RewriteRule ^(.+)$ /deny/ [nc] تو دستور بالا ما گفتیم فقط به فایل های سی اس اس و جی اس و فایل file.php اجازه بده که توسط کاربر فراخوانی بشه در غیر اینصورت ریدایرکت کنش به پوشه /deny/ . بزارید تو مثال بعدی قضیه HotLinking رو بگیم : Options +FollowSymlinks # no hot-linking RewriteEngine On RewriteCond %{} !^$ RewriteCond %{} !^()?Persiandev.net/ [nc] RewriteRule .*.(gif|jpg|png)$ [nc] خوب فکر نمیکنم زیاد لازم به توضیح باشه کد بالا هر درخواستی رو که برای لود کردن عکس با فرمت gif,jpg,png از یه سایت دیگه باشه عکس نمایش داده میشه . اضافه کردن WWW به ادرس سایت : این کد این کار رو براتون میکنه : Options +FollowSymlinks RewriteEngine on rewritecond %{} ^ [nc] rewriterule ^(.*)$ $1 [r=301,nc] در واقع یه نوع ریدایرکت هستش البته از نوع peremantly moved . ترجمه سایت : Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)-fr$ $1 [r,nc] RewriteRule ^(.*)-de$ $1 [r,nc] RewriteRule ^(.*)-es$ $1 [r,nc] RewriteRule ^(.*)-it$ $1 [r,nc] RewriteRule ^(.*)-pt$ $1 [r,nc] در کد بالا در صورتی که به اخر یک لینک یا ادرس یکی از کلمات de , -fr , -pr, -it- اضافه بشه توسط گوگل میتونید ترجمه کنید . عوض کردن نوع لینک برای مثال نوع ادرس عکس : Options +FollowSymlinks RewriteEngine on RewriteRule ^pictures/(.*) $1 [r] روشن خاموش کردن رجیستر گلوبال php_flag register_globals on امیدوارم مفید واقع بشه با تشکر ازsayrex کاربر فروم () بابت جمع آوری مقالات هادی ابراهیمی 08 آبان 1385, 12:41واقعآ ممنون کامل بود وقت بشه جبران کتم




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2411]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


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