PDA

View Full Version : راهنمایی در مورد تابع هدر (header) و کاربرد آن



e601
جمعه 20 بهمن 1391, 19:24 عصر
سلام

از دوستان تقاضا دارم کاربرد این تابع هدر (header) رو برای من بشکافن چون هر چی مطلب خوندم زیاد متوجه نشدم به چه دردی میخوره و چرا و کجا باید ازش استفاده کرد !

تنها چیزی که دستگیرم شد اینه که برای مسائل امنیتی ظاهرا استفاده میشه و اگه بیشتر از یکبار هم ازش استفاده کنیم خطا بوجود میاد. در برخی مواقع هم برای ریدایرکت استفاده میشه. همین !

اگه میشه یه توضیحی در مورد کاربردش و مواقعی که باید ازش استفاده کنیم به من بدید.

ممنون دار همه هستیم...!

siavashsay
جمعه 20 بهمن 1391, 20:35 عصر
تابع Header یه جورایی هویت صفحه رو میتونه مشخص کنه ! و یا تصمیماتی رو میتونه برای یک صفحه بگیره !
مثلا با این تابع میتونید کاربر رو به صفحه دیگه ای منتقل کنید
به عنوان مثال :

if($a==$b){
header("Location:index.php");
}
در این کد شما یک شرط رو برقرار کردید که در صورت اجرای شرط کاربر به صفحه دیگه ای منتقل میشه !
همچنین میتونید هویت یک صفحه - مثلا اینکه خروجی اون صفحه فقط یک فایل ( متن - عکس - pdf ) و یا هر چیز دیگه ای رو مشخص کنید !
مثلا میخواید که خروجی صفحه مورد نظر تنها یک فایل jpeg باشه !

header("Content-Type: image/jpeg");
این کد مشخص میکنه که خروجی اون صفحه تنها یک فایل عکس از نوع jpeg باشه ( نه متن و یا هر چیز دیگه ای در غیر اونصورت با خطا مواجه میشید)
ویا مثلا خروجی از نوع css

header("Content-Type: text/css");
شما همچنین می تونید خطاهای مخصوص مرورگر رو با استفاده از تابع هدر ارسال کنید! همچنین این مهمه که خطاهای مربوط به مرورگر رو بلد باشید

header("HTTP/1.0 404 Not Found");
البته اینها فقط اطلاعات من بود ! باید ببخشید اگر اطلاعات کافی ندارم !
موفق باشید :)

e601
جمعه 20 بهمن 1391, 23:53 عصر
البته اینها فقط اطلاعات من بود ! باید ببخشید اگر اطلاعات کافی ندارم !

خیلی هم عالی. ما همینش رو هم نداشتیم ! :لبخندساده:

ولی من باز هم نفهمیدم چرا و کجا باید از این تابع استفاده کنیم ! حالا در مورد مثال اول شاید یکمی منطقی تر باشه که برای ریدایرکت و این مسائل بشه استفاده کرد ولی موارد دیگه رو من متوجه نمیشم.

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

سایتهای خارجی هم که اصلا حوصله نداشتم برم نگاه کنم (بعلت فول نبودن زبان!) گفتم اول از انجمنها یه پیگیری بکنم اگه نشد برم تو سایتهای خارجی ببینم چیزی گیر میاد یا نه....!

siavashsay
شنبه 21 بهمن 1391, 09:46 صبح
ولی من باز هم نفهمیدم چرا و کجا باید از این تابع استفاده کنیم !
یک نمونه دیگش برای تولید فایل عکس مثل صفحه Captcha که یک کد امنیتی تولید میکنید ! توجه کردید که حتما اون صفحه باید از یک Header با خروجی image درست شده باشه و هیچ نوع خروجی دیگه ای نباید داشته باشه وگرنه فایل رو نشون نمیده !

راستش فکر نمیکنم تابعی در php باشه که مثل این تابع اینقدر گنگ باشه.
تازه این مثال هایی که بنده زدم شاید خیلی کمتر از اون چیزی باشه میشه با این تابع انجام داد ! با این تابع حتی میشه بدون اینکه From در صفحه داشته باشید ( به صورت دستی ) مقادیر رو به صورت POST به صفحه ی دیگه ای بفرستید ! اصلا یه چیزززی :قهقهه:

ضمن اینکه ظاهرا این تابع خیلی حساس هم تشریف دارن(!) و اگه قبل از استفاده از اون ، خروجی تولید کرده باشیم خطا تولید میشه !
بله 100% - چون خدمتتون عرض کردم این تابع یه نوع هویت دهنده به صفحه س و هویت یک صفحه باید یکتا باشه - در صورت داشتن خروجی های دیگه این تابع هویت رو ناشناس تشخیص میده و خطا صادر میکنه :)

eshpilen
شنبه 21 بهمن 1391, 10:38 صبح
هدرها مربوط به پروتکل HTTP میشن.
اگر میخواهید بفهمید قضیه چیه باید رفرنس/RFC پروتکل HTTP رو بخونید.