عنصر input فرم html

در نوشته ی ساختار فرم html در مورد عناصر و خواص فرم html نوشتم و لیست کاملی از آن ها قرار دادم. حال نوبت این رسیده که در مورد مهم ترین عنصر فرم html یعنی عنصر input بنویسم. در این نوشته قصد دارم به type (گونه) های مختلف عنصر input و خواص (attribute) منحصر این عنصر بپردازم.

همانطور که گفتم عنصر input برای ایجاد فیلد استفاده می شود. از type برای تعیین نوع فیلد استفاده می شود.…

ساختار فرم html

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

در این مطلب در دو جدول به طور کامل با عناصر یک فرم html و خواصی که در فرم html کاربرد دارند آشنا می شوید

ساخت بدنه پیغام از فرم و ارسال با ایمیل

آموزش های زیادی وجود دارند برای ایجاد بدنه پیغام و قرار دادن آن در هدر ارسال ایمیل که میگویند بدنه پیغام را به این شکل ایجاد کنید :

خب اگر فرم شما فقط همین سه فیلد را دارد از همین روش استفاده کنید.

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

در این مطلب می خواهم از روشی استفاده کنم که بدنه پیغام را به راحتی و با یک حلقه foreach ایجاد کنید. تا زمانی که به فیلدها خاصیت name با معنی مناسب دهید می توانید بدنه پیغام را به این روش ایجاد کنید.

عملکرد تابع mail در php

همانطور که می دانید برای ارسال یک فرم php به یک آدرس ایمیل از تابع mail() استفاده می کنیم. بدین منظور ابتدا لازم است که این تابع را بشناسیم که در این مطلب به این مهم می پردازم.

تابع mail پنج آرگومان می پذیرد

آدرس (یک یا چند مورد)

موضوع

بدنه پیام

هدرهای دلخواه ایمیل

پارامتر دلخواه اضافی

از موارد بالا دو مورد آخری دلخواه است و 3 مورد اول اجباری

ارسال فرم php با ایمیل

پیشتر در مورد فرم php ، کنترل و امنیتش توضیح دادم. خب فرم را آماده کردیم و حال قصد داریم آن را به یک آدرس ایمیل ارسال کنیم. روند کار چگونه است ؟

ارسال ایمیل در php با تابع mail() امکان پذیر است. فقط کافی است بر روی سرور از آن استفاده کنیم ، زیرا در محیط های آزمایشی طبیعی است که ایمیلی ارسال نشود.

صورت مسئله چیست ؟ مهم تر از پاسخ

مشکل چیست که کجا بودنش مهم باشد یا نباشد؟

وقتی ندانی از کجا میخوری ، هی میخوری و هی … مسئله از جایی شروع می شود که بدانی از کجا می خوری و مشکل از آنجایی که ندانی از کجا.

چرا یادم می رود که اوضاع بر وفق مراد نیست؟ چرا سرم مثل کبک زیر برف است. مشکل این است که یادم می رود مسئله چیست.

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

مسائل  را باید بشناسم ، ذهنم گویی خانه ی دانشجویی ریخت و پاش است و از حدی که حائز اهمیت باشد گذشته.

مشکل چیست؟ مسئله یادم نرود.

فیلتر کردن عبارات در فرم ایمیل php

فیلتر کردن عباراتبلاک کردن ایمیل های حاوی عبارات خاص با فیلتر کردن عبارات خاص

در مطلب جلوگیری از تزریق هدر ایمیل در مورد حفره ی امنیتی email header injection در فرم های php گفتم. حال میخواهم بگویم چگونه ایمیل های حاوی عبارات Bcc و Cc و Content-Type را فیلتر کنیم تا ایمیل های حاوی این عبارات بلاک شود و از گزند تزریق هدر ایمیل در امان بمانیم.

راه حلی که میخواهم بگویم ورودی کاربر را برای عبارات مشکوک بررسی می کند و اگر عبارت مشکوکی پیدا شود متغیری برابر با true می شود ، سپس از این متغیر برای جلوگیری از ارسال ایمیل استفاده می شود.

جلوگیری از تزریق هدر ایمیل email header injection

تزریق هدر ایمیلتزریق هدر ایمیل چیست و چگونه از آن جلوگیری کنیم؟

چنانچه قصد داشته باشیم مقادیر دریافت شده از فرم php را با ایمیل ارسال کنیم یک خطر ما را تحدید می کند به نام حفره ی امنیتی تزریق هدر ایمیل یا email header injection

با استفاده از باگ تزریق هدر ایمیل میتوان فرم های آنلاین را به یک ارسال کننده اسپم تبدیل کرد. اگر ما اجازه ندهیم عبارات Content-Type و Cc و Bcc پردازش شود از email header injection جلوگیری کرده ایم زیرا این موارد هدرهای ایمیلی هستند که مهاجمان به درون اسکریپت شما تزریق می کنند تا با این روش ایمیل هایی را به افراد زیادی ارسال کنند.