Skip to Content

آرشیو

مفهوم فایل .Htaccess چیست؟

مفهوم فایل .Htaccess چیست؟

 

استفاده از Htaccess این امکان را به شما می دهد که رفتار سایت خود و یا یک پوشه ی خاص را کنترل نمایید.در صورتی که این فایل در روت اصلی هاست قرار داده شود, بر روی کل سایت تاثیرگذار خواهد بود و اگر در پوشه ای قرار داده شود در همان مسیر تاثیر می گذارد.

 

کاربرد Htaccess در سرورهای لینوکسی ما:

۱-سفارشی کردن صفحات خطا در سایت شما

۲-محافظت از سایت با تنظیم پسورد

۳-قراردادن سطح دسترسی برای سایت  با استفاده از آی پی

۴-تغییر صفحات پیش فرض سایت

۵-ریدایرکت کاربران به صفحات دیگر

۶-اضافه کردن انواع MIME

فایل Htaccess , یک فایل متنی ASCII با نام .Htaccess است.برای ایجاد این فایل اطمینان حاصل نمایید که ویرایشگر متنی که استفاده می کنید از Word wrap استفاده نکند.برخی ویرایشگر ها (از قبیل msword یا Notepade که از Word Wrap استفاده می کند) کد های اسکی خاصی را به فایل متنی اضافه می کند که فایل Htaccess با این کاراکترها نمی تواند به خوبی کار کند.

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

تنها در صورتی فایل .Htaccess  را مشاهده می کنید که در بخش file manager  تنظیم نمایید فایل های مخفی را به شما نشان دهد.برای این کار بر روی file manager کلیک نمایید و گزینه ی  show hidden files را انتخاب نمایید.

چه کاری می توان با فایل htaccess انجام داد؟

شما ممکن است که بخواهید وب سایت خود را حفاظت نمایید و از password protect استفاده کنید.در واقع تنظیمات مربوط به password protect در .htaccess انجام می شود.بسیاری از توابع که در htaccess وجود دارد ارتباطی به شما ندارد و به صورت اتوماتیک توسط cpanel نوشته می شود.

توابع دیگر فایل htaccess شامل لینک های ممنوعه و rewriting URLs و تنظیمات صفحات پیش فرض, ایجاد ریدایرکت ها, و موارد دیگر می باشد.پی بردن به اینکه چطور فایل htaccess بر روی کل اکانت تاثیرگذار است, بسیار مهم است.یک تغییر در فایل htaccess می تواند بر روی وب سایت شما تاثیرگذار باشد.به همین علت قبل از هر تغییری حتما فایل بک آپ تهیه شود.

عیب یابی خطاهای ناشی از فایل .htaccess

اگر شما در وب سایت خود خطا  مشاهده می کنید اغلب موارد htaccess مقصر است , شما می توانید این مورد را به راحتی با تغییر نام فایل htaccess تست نمایید.من در اغلب اوقات فایل htaccess را به oldhtaccess تغییر می دهم و لود سایت را بررسی می کنم.اگر سایت بدون مشکل لود شود مورد مربوط به تنظیمات htaccess است.

اگر سایت شما با خطا مواجه است و با تغییر در تنظیمات php, تغییری  مشاهده نمی کنید شما میبایست فایل php.ini را به گونه ای ایجاد نمایید که روی همه ی زیر پوشه ها تاثیرگذار باشد.این مورد الزام به  recursive کردن فایل php.ini دارد که به صورت زیر قابل انجام است:

به روز رسانی suPHP_ConfigPath خود در فایل .htaccess

در صورتی که بخواهید فایل php.ini یک فایل recursive باشد(بر روی public-html و زیر پوشه های آن تاثیرگذار شود) می بایست خط کد زیر را به فایل htaccess اضافه نمایید.

         suPHP_ConfigPath /home/username/public_html

این خط کد مشخص می کند فایل php.ini که recursive  است در چه موقعیتی قرار گرفته است و اطمینان حاصل نمایید که یوزر cpanel جایگزین username شود.

این تغییرات فورا اعمال می شود و می توانید نتیجه ی تنظیمات را مشاهده نمایید.

ادامه مطلب

آشنایی با مشاغلی که در صنعت وب وجود دارد

آشنایی با مشاغلی که در صنعت وب وجود دارد

معرفی عناوین شغلی که در صنعت وب

 

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

۱)طراح وب (Web Designer)

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

طراح وب

۲)توسعه‌دهنده‌ی Front End

تمرکز اصلی این عنوان شغلی بر روی HTML, CSS و جاوا اسکریپت است. کار یک توسعه دهنده‌ی وب با کار یک طراح متفاوت است. برای همین است که از واژه‌ی توسعه‌دهنده برای این افراد استفاده می‌کنیم. فرد مورد نظر باید توانایی استفاده از HTML, CSS و جاوا اسکریپت را به بهترین نحو داشته باشد تا بتواند شکل ظاهری و رابط کاربری سایت را تولید نماید.

توسعه‌دهنده‌ی Front End

۳)طراح رابط کاربری (UI Designer)

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

طراح رابط کاربری

4)طراح تجربه‌ی کاربری (UX Designer)

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

طراح تجربه‌ی کاربری

۵)طراحی تعاملی(Interaction Designer)

در طراحی تعاملی نحوه‌ی طراحی بیشتر مد نظر است. با این تفاوت که روی نحوه‌ی استفاده از اجزا تمرکز می‌شود تا کاربر بیشتر با وب سایت تعامل داشته باشد.

۶) Art Director

افرادی که در این شغل فعالیت می‌کنند باید کیفیت کاری پروژه را تحت کنترل داشته باشند. در واقع این افراد مدیریت طراحان پروژه را برعهده داشته و با مشتریان در ارتباطند.

۷) توسعه دهنده وب (Web Developer)

فرد در این شغل بیشتر روی برنامه‌نویسی سمت سرور تمرکز می‌کند. برای داشتن این شغل باید زبان های سمت سرور مانند پایتون، روبی، PHPو ASPرا بلد باشید. همچنین مهارت‌های پایه‌ای در زمینه‌های دیتابیس، جاوا اسکریپت و HTML داشته باشید. این عنوان شغلی با توسعه‌دهنده‌یFront End کاملا متفاوت است. یک توسعه دهنده‌ی وب توجه کمی روی نحوه کار کردن عناصر در صفحه وب دارد در حالیکه بیشتر روی برنامه‌نویسی سایت، ارتباط با دیتابیس و مباحث امنیتی تمرکز می‌کند.
Web Programmer یا Web Aplication Developer نام‌های دیگری است که به این عنوان شغلی داده می‌شود.

توسعه دهنده وب

۸) Full Stack Developer

این شغل ترکیبی از برنامه‌نویسی سمت سرور و سمت کلاینت است. در واقع کسی که این مسئولیت را برعهده دارد باید میان دو برنامه نویس سمت سرور و سمت کاربر ارتباط برقرار کند.

Full Stack Developer

۹)استراتژیست محتوا (Content Strategist)

این شغل روی پیاده‌سازی فنی سایت تاثیری ندارد. بعد از طراحی سایت وظیفه‌ی آنالیز داده ها، تغییر محتوای سایت و هدایت وبلاگ نویسان برعهده‌ی استراتژیست محتوا است.

۱۰) تکنسین IT

این فرد با تجهیزات کامپیوتری کار می‌کند و بیشتر در زمینه سخت افزاری فعالیت دارد.

۱۱) Dev Ops

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

Dev Ops

” هکر به معنای شخصی که رخنه های امنیتی یک سرویس را پیدا می‌کند، یک اصطلاح است نه شغل! “

۱۲) مدیر پروژه (Product Manager)
مدیر پروژه به عنوان مدیر تیم فعالیت می‌کند و تمامی افراد را برای رسیدن به هدف هدایت می‌کند.

۱۳) نماینده خدمات به مشتریان (Customer Service Representative)
این عنوان شغلی ارتباط مستقیمی با مشتریان دارد و برای کمک به بهبود سایت فعالیت می‌کند. در واقع مشکلاتی را که از دید مشتریان وجود دارد، به گوش مدیران پروژه رسانده و از این طریق با جامعه‌ی هدف سایت ارتباط برقرار می کند.

۱۴) متخصصان SEO

SEO

کارشناسان سئو تمامی تلاش خود را می‌کنند تا یک وب سایت در موتورهای جست‌وجو دیده شود. این صنعت زیرشاخه‌های خاص خود را دارد.

” واژه‌ی وب مستر شغل آی تی محسوب نمی‌شود. وب مستر معنی خاصی ندارد و مشخص نمی‌کند که وظیفه‌ی یک فرد چیست. “

 

شغل هایی که در این دسته بندی قرار نمی‌گیرند:

طراح گرافیک؛ طراح گرافیک لزوما در زمینه‌ی وب فعالیت نمی‌کند.
مهندس نرم افزار؛ یک مهندس نرم‌افزار ممکن است برنامه نویس هم باشد اما در زمینه‌ی وب فعالیت نمی‌کند.

تمامی مسئولیت‌هایی را که در بالا ذکر شد، می‌توانیم بر اساس مهارت افراد دوباره دسته‌بندی کنیم. برای مثال شغل مدیر ارشد پروژه با مدیر پروژه متفاوت است.
در صورتیکه زمینه‌های کاری دیگری به ذهن‌تان می‌رسد برای ما بنویسید تا به دسته‌بندی ‌های فوق اضافه شود.

ادامه مطلب

بهترین ارائه دهندگان سرویس CDN وردپرس در سال ۲۰۱۸

بهترین ارائه دهندگان سرویس CDN وردپرس در سال ۲۰۱۸

آیا به دنبال یک ارائه دهنده خدمات CDN خوب برای وبسایت وردپرسی خود هستید؟ CDN سرعت وبسایت شما را افزایش می‌دهد چرا که یک ذخیره از وبسایت شما را در سرورهای محلی نزدیک کاربران وبسایت نگهداری می‌کند. در این مطلب بهترین ارائه دهنده خدمات CDN را به شما معرفی خواهیم کرد تا سرعت وبسایت وردپرسی خود را افزایش بدهید.

CDN چیست و چطور سرعت وبسایت وردپرس را بالاتر می‌برد؟

شبکه تحویل محتوا (CDN)، شبکه‌ای از سرورها است که محتوای از قبل ذخیره شده وبسایت را براساس موقعیت جغرافیایی به نزدیک‌ترین کاربر ارائه می‌کند. CDN سرور هاست وردپرس نیست بلکه شما همچنان برای میزبانی وبسایت خود به یک هاست نیاز دارید.

 

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

کدام ارائه دهنده خدمات CDN مناسب است؟

نتایج یک تحقیق نشان داده که یک درصد کاهش سرعت وبسایت باعث کاهش ۱۱ درصدی تماشای صفحات وبسایت و کاهش ۷ درصدی نرخ تبدیل مشتری‌ها می‌شود. پس برای افزایش مشتریان باید از یک ارائه دهنده خدمات CDN کمک بگیرید. محتوای ثابت از طریق شبکه‌ای از سرورهای محلی در اطراف جهان میزبانی می‌شود که به آن ارائه دهنده خدمات CDN می‌گویند. درخواست هر کاربر توسط نزدیک‌ترین سرور به محل او پاسخ داده می‌شود. این اقدام باعث افزایش سرعت بارگذاری وبسایت برای همه کاربران خواهد شد.

۱. MaxCDN

MaxCDN

MaxCDN بهترین ارائه دهنده خدمات CDN وردپرس در بازار است. این سرورها مجهز به سریع‌ترین حافظه‌های SSD و مراکز ذخیره داده گسترده در سراسر جهان هستند. نصب آن بسیار آسان است. همچنین سازگاری کامل با پلاگین‌هایی مثل W3 Total Cache و WP Super Cache دارد. شما می‌توانید CDN خود را از طریق یک پنل خوب مدیریت کنید. این سیستم به شما اجازه می‌دهد تا حافظه کش را پاک و گزارش‌ها را مشاهده کنید و تنظیمات جغرافیایی را انجام بدهید. MaxCDN همچنین اجازه می‌دهد تا گواهی نامه SSL را به وبسایت اضافه کنید.

درجه: A+

 

۲. Sucuri

 Sucuri

Sucuri یک شرکت تامین امنیت بسیار محبوب است. آن‌ها فایروال و CDN قدرتمندی را ارائه می‌کنند که وبسایت‌ها را در برابر حملات DDOS، ویروس‌ها و سایر تهدیدات وردپرسی محافظت می‌کنند.

اپلیکیشن آن‌ها تمام درخواست‌های ورودی به وبسایت را قبل از ورود به سرور هاست اسکن می‌کند. از طرف دیگر شبکه آن‌ها در سراسر دنیا گسترده است بنابراین کاربرهای شما همیشه به سریع‌ترین سرور دسترسی دارند. فایروال آن‌ها از سرعت و امنیت لازم برخوردار است. Sucuri با تمام CDN‌های این فهرست کار می‌کند.

درجه: A

۳. Cloudflare

Cloudflareشناخته شده‌ترین ارائه دهنده خدمات CDN برای وبسایت‌های کوچک است. البته سرویس رایگان آن‌ها شامل محافظت محدود در برابر حملات DDOS است و همه قابلیت‌های سرویس‌های پولی را ندارد. راه‌اندازی آن روی وردپرس خیلی ساده است. شبکه توزیع محتوای آن‌ها در سراسر دنیا گسترده است و به طور خودکار تمام محتوای ثابت را ذخیره می‌کند. این ارائه دهنده خدمات CDN یک پنل کنترل خیلی آسان برای پاک کردن حافظه کش و مدیریت عملکرد دارد. آن‌ها یک حالت محافظتی دارند که به کاربران خود صفحه‌ای امنیتی را نشان می‌دهند و هم‌زمان ترافیک را بررسی می‌کنند و آن‌ها را به وبسایت شما می‌فرستند.

درجه: A

4.StackPath

StackPathیک سرویس CDN به شما ارائه می‌کند. آن‌ها شبکه‌ای بزرگ از سرورها در سراسر دنیا دارند و همچنین شبکه آن‌ها وب‌سایت شما را در برابر حملات DDOS محافظت می‌کنند. همه سرویس‌های آن‌ها شامل قابلیت‌های فایروال، کاهش بار روی سرور و افزایش سرعت سایت است. راه‌اندازی آن برای وبسایت شما خیلی ساده است و از API خیلی خوبی برای توسعه دهنده‌ها برخوردار است. این قابلیت به توسعه دهنده‌ها اجازه می‌دهد تا اپلیکیشن و وبسایت خود را با سرویس آن‌ها هماهنگ کنند.

درجه: B

۵. KeyCDN

KeyCDN

این هم یکی از بهترین ارائه دهنده‌های CDN برای وردپرس است. آن‌ها شبکه‌ای قدرتمند از سرورها در آمریکای شمالی، اروپا و آسیا دارند. نصب آن روی وردپرس خیلی ساده است. قابلیت پشتیبانی در برابر حملات DDOS، گواهی رایگان SSL، سرورهای SSD، و کنترل پنل قدرتمند هم از قابلیت‌های این سرویس است. KeyCDN سرویس‌هایی براساس مصرف ماهانه شما ارائه می‌کنند. این اقدام باعث کاهش هزینه‌ها برای وبسایت‌های کوچک می‌شود البته افزایش ترافیک باعث افزایش هزینه‌ها خواهد شد.

درجه: B

۶. Rackspace

Rackspace

Rackspace نام شناخته‌ شده‌ای در فضای پردازش ابری، هاستینگ و خدمات ابری در سطح سازمانی است. نصب این سرویس کمی پیچیده است. این سرویس قابلیت‌های زیادی را به کاربران ارائه می‌کند که کار برای کاربران عادی کمی مشکل می‌کند. این سرویس با وردپرس کار می‌کند و البته قابلیت مقابله با حملات DDOS را ندارد.

درجه: C

۷. Incapsula

Incapsula

Incapsula به عنوان یکی از محبوب‌ترین ارائه دهنده‌ خدمات CDN وردپرس محسوب می‌شود. این سرویس در سراسر دنیا شامل مرکز داده آفریقای جنوبی گسترده است. راه‌اندازی آن آسان است و به خوبی با افزونه‌های ذخیره‌سازی کش کار می‌کند. این سرویس دارای فایروال، SSL، پشتیبانی ۲۴ ساعته و محافظت در برابر حملات DDOS است. البته یک سرویس رایگان هم دارند که دارای قابلیت‌های بالا نیست.

درجه: C‍

نتیجه‌گیری

بعد از بررسی تمام این سرویس‌ها می‌توان گفت که MaxCDN یکی از بهترین‌ ارائه دهنده‌های خدمات CDN وردپرس در بازار می‌باشد. آن‌ها قابلیت‌های زیادی را با قیمتی مناسب ارائه می‌کنند و برای تازه‌ کارها هم مناسب هستند.

این مطلب را از دست ندهید:  GoDaddy؛ یکی از معروف ترین خدمات دهندگان فضای میزبانی | بخش دوم

 

ما سرویس Sucuri را پیشنهاد می‌کنیم که به شما اجازه دسترسی به فایروال‌ها و پروکسی را ارائه می‌کند. شما می‌توانید از Sucuri همراه با سایر CDN‌ها استفاده کنید تا قابلیت‌های وبسایت خود را گسترش دهید. اگر بودجه کمی دارید می‌توانید از سرویس رایگان Cloudflare استفاده کنید.

امیدوارم این مطلب به شما کمک کند تا سیستم توزیع محتوای مناسب را برای وبسایت وردپرسی خود پیدا کنید. اگر نیاز به خرید هر کدام از این سرویس‌ها دارید می‌توانید از خدمات پرداخت ارزی پی پال وبسایت پیمنت‌۲۴ استفاده کنید.

ادامه مطلب

تعریف لوکال هاست (localhost)

تعریف لوکال هاست (localhost)

لوکال هاست

به زبان ساده لوکال هاست یعنی یک سرور یا هاست آفلاین، یعنی بخشی از فضای هارد دیسک یا یکی از درایوهای کامپیوتر شما اِشغال می‌شه و تبدیل می‌شه به یک هاست و چون روی کامپیوتر شخصی شماست دیگران نمی‌تونن به اون دسترسی داشته باشن و فقط خود شما می‌تونین اون رو مشاهده کنین. لوکال هاست هیچ ضرری برای سیستم و رایانه شما نداره و هیچ تغییری در سیستم شما ایجاد نمی‌کنه و خیلی ساده با نصب یک نرم افزار، پوشه جدیدی در یکی از درایوهای رایانه شما ایجاد می‌شه و می‌تونین در اون پوشه فایل‌های سایت خودتون رو قرار بدین و بعد از طریق تایپ آدرس http://localhost در مرورگر می‌تونین اون رو مشاهده کنین، البته این یک تعریف علمی نیست و فقط اون رو برای شما ساده کردم.

با نرم افزارهای زیادی می‌شه این کار رو انجام داد، مانند EasyPHP, WampServer ,XAMPP و … هر کدام از این نرم افزارها ویژگی‌های خوبی دارن ولی به نظر من بهترین اونها XAMPP هست و در این آموزش از نرم افزار زمپ برای ایجاد لوکال هاست و نصب وردپرس کمک گرفتم.

این نرم افزار رایگانه، متن‌باز یا منبع بازه (Open Source)، چند‌سکویی (Cross-platform) هست یعنی بر روی سیستم عامل‌های مختلف اجرا می‌شه و نسخه‌های ویندوز، مکینتاش و لینوکس اون موجوده و کاملا نیازهای ما رو برای انجام این کار برآورده می‌کنه.

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

ادامه مطلب

آزمایش تأثیر سرعت جوملا 3.5 و PHP 7 ؟

Joomla 3.5 که به تازگی منتشر شده است پر از ویژگی های سودمند است اما شاید بزرگترین تغییر ، تغییری باشد که کاربران نهایی متوسط به آن فورا توجهی نمیکند ؛ پشتیبانی از PHP7 . البته ویژگی های محسوس تری مانند کشیدن و انداختن عکس ها در ویرایشگر اول یا چیزهای اضافه شده ی UI به جریان کار و مدیریت موضوع کمک میکنند اما PHP7 چیزی مفید تر ارائه میکند ، برای توسعه ی تجربیات کاربر و کاهش میزان چیزهای اضافی که باعث بارگذاری سریع تر صفحات میشود . اگر در مورد PHP7 چیزی خوانده باشید از این تغییرات خبر دارید اما این تغییرات چه تاثیری بر روی Joomla دارند ؟ در این مقاله این مسئله بررسی میشود.

آزمایش تأثیر سرعت جوملا 3.5 و PHP 7 ؟
تغییرات چشمگیر در PHP

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

 

 محیط آزمایشی

برای آزمایش این عملکرد من تصمیم گرفتم تا از آخرین به روز رسانی joomlaاستفاده کنم . jommla 3.5.1  . با نصبی تازه و یک نمونه ی داده ی بلاگ . این آزمایش ها روی سرور هاست محلی من و باستفاده از MAMP  برای OS X انجام میشوند .

در زمینه ی PHP های تست شده ، من عملکرد Joomla  را در PHP معروف و محبوب 5.6.10 استفاده کردم و البته PHP 7,0,0 .

 محیط آزمایشیمن روی تست های نرم افزار نهایی تمرکز کردم زیرا این میتوانست سود کلیدی تجربه ی کاربری برای بیشتر کاربران Joomla باشد . در نصب های آزمایشی ام ، قسمت ذخیره را در joomla خاموش کرده و ذخیره را در سرور محلی ام برای مقایسه ای خالص تر غیر فعال کردم .تراکم Gzip هم برای گرفتن نتایج دقیق بارگذاری غیر فعال بود . در همان ابتدا ی نصب joomla ماژول های مختلفی را نشان میدهد :

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

 

عملکرد joomla 3.5 در PHP5.6  و PHP7

قبل از اینکه به بخش اصلی آزمایش برسیم ، در نظر داشته باشید که اثرات این آزمایش ممکن است زمانی که به سرور زنده ی شما میرسند دقیق نباشند ، هنوز محدوده ای از پارامتر های مختلف وجود دارند که میتوانند روی عملکرد تاثیر بگذارند . هدف اصلی این تست آزمایش عملکرد خالص Joomla  در PHP7 است . با وجود وبسایت هایی با ترافیک بالا یکی از نقاط کلیدی تعداد درخواست هایی است که سرور شده در ثانیه پاسخ میدهد ، اما این به این معنی نیست که Joomla  در PHP7 هیچ توسعه ای نداشته و ارزش امتحان را ندارد ، بنابراین یک آزمایش هاست مرکزی  میتواند موثر باشد – میزان حافظه ی استفاده شده برای بارگذاری و نمایش وبسایت و کل زمان بارگذاری . ما سرعت پایگاه داده ها را در این آزمایش در نظر نگرفتیم بنابراین از همان نسخه ی (MySQL ( MySQLi 5.5,42  در هر دو آزمایش استفاده کردیم ، با همان جستار و زمان آزمایش بدون توجه به اینکه کدام نسخه ی PHP فعال است .

در این تست من نتایج را از سه صفحه ی مختلف بررسی کردم :

در زیر شما به صورت شکل جزئیات خرابی  زمان های بارگذاری عناصر صفحه ها را میبینید ؛ همانطور که میبینید توسعه در PHP7 7,0,0  خیلی قابل توجه است . برای وظایف کوچک مانند BeforeRender تفاوت ماژول ها زیاد برجسته نیست اما برای مهم ترین لینک ها مانند afterInitalise و afterRender  joomla 305 سرعت بالا میرود ! ما میتوانیم در تصویر بالا ببینیم که afterInitialise در اصل 149.40 میلیونم ثانیه وقت گرفت و afterRenderComponent 141.23 میلیونم ثانیه تا بارگذاری شوند ، در حالیکه بعد از به روز رسانی این زمان ها به 62.80 و 60.93 کاهش یافتند. بنابراین باjoomla 3,5,1  و PHP7 فرایند بارگذاری این لینک ها دوبرابر سریع تر از PHP5,6,10  کامل میشود . این تقریبا موفقیتی است که مانند CMS در نظر گرفته شد . فقط با نسخه ی مختلف PHP . و فقط سرعت نیست بلکه حافظه ی کمتری هم اشغال میکند . ارزش استفاده از حافظه واقعا برای وبسایتهایی با ترافیک بالا مهم است و در اینجا برجسته ترین تغییرات مشاهده میشود .

 

عملکرد joomla 3.5 در PHP5.6  و PHP7

عملکرد joomla 3.5 در PHP5.6  و PHP7

یک نصب تمیز joomla با ماژول های پایه و یک مقاله با محتوای کامپیوتر در صفحه ی اصلی کمتر از 9 مگابایت حافظه میخواهد – 8.49 مگابایت . زمانی که در حال استفاده از نسخه ی قدیمی تر PHP هستیم نیاز به حداقل 12 مگابایت ( 12.05)  داریم تا همان صفحه را بارگذاری کنیم . که یعنی تعویض به PHP7 چهل درصد حافظه را نگه می دارد . یک نگاه سریع به زمان بارگذاری به ما بیشتر در مورد جزئیات میگوید ، سرعت کلی خیلی بهتر است .

 

عملکرد joomla 3.5 در PHP5.6  و PHP7

عملکرد joomla 3.5 در PHP5.6  و PHP7

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

 

قبل از اینکه به PHP7  ارتقا دهید

برای من ، و همانطور که نتایج نشان میدهد ، معرفی PHP7 در آخرین joomla بزرگترین پیشرفت حاضر است و گزینه های به روز رسانی بیشتری ارائه میکند .  گرچه این چیزی نیست که شما لزوما در اولین بار متوجه شوید . چیزی که متوجه خواهید شد سرعت بارگذاری است که یک فاکتور برجسته در مورد سایت است  و حافظه ی توسعه داده شده تجربه ی قوی تری برای سایت هایی فراهم میکند که تعداد زیادی بازدید کننده و بازدید صفحه دارند ، به طور طبیعی ؛ گرچه استفاده از یک سرور هاست محلی مکان خوبی برای عملکرد کلی آزمایش است ، پس نوساناتی در هر سایت بسته به پیکر بندی سخت افزار در ماشین زنده دیده خواهد شد . با این حال امکان هر نوع بالا رفتن سرعتی ، چیزی نیست که بتوان انکارش کرد . در این تست ها تقریبا همه ی نیروی CPU استفاده میشود تا یک صفحه در یک جستجوگر کار کند ، در حالیکه هاست بودن شما احتمالا بازدید کنندگان بسیاری به صورت همزمان خواهد داشت ، بنابراین حتی پیشرفت های کوچک در زمان بارگذاری هم مهم خواهند بود . همراه این ، حافظه ی مدیریت بسیار زیاد است ، 40 درصد حافظه ی کمتر بر حسب صفحه خیلی زیاد است . با در نظر گرفتن همه ی اینها ، تنها سوالی که داریم این است که چرا حالا ارتقا ندهیم ؟

واضح است که پیشرفت سرعت و حافظه چیزهایی هستند که شما میخواهید خیلی زود از آنها بهره مند شوید ، اما بهتر است که خیلی عجله نکنید . امکانش وجود دارد که سایت شما اصلا نصب joomla نداشته باشد . همیشه افزونه هایی وجود دارند که نمیتوانیم بدون آنها کاری کنیم . اینکه joomla 3,5 از PHP7 حمایت میکند به این معنی نیست که هر کدام از افزونه های Joomla 3.5  با آخرین انتشار PHP کار خواهد کرد . بنابراین قبل از اینکه محصول سایتتان را به php7 تعویض کنید ، زمان بگذارید تا تحقیق کنید که آیا فراهم کنندگان افزونه هایتان از آن حمایت میکنند یا آیا در آینده اینکار را خواهند کرد تا بتوانید بر اساس آن برنامه ریزی کنید . البته برگرداندن ارتقا چیزی است که اگر به مشکل برخوردید میتوانید از آن استفاده کنید ، با PHPMyAdmin بیشتر هاست ها امکان گزینه ی ساده ای را برای انتخاب نسخه ی PHP میدهند ، اما برای هاست های کوچکتر برگشتن به تغییرات ممکن است یک مشکل باشد . فراموش نکنید که این را هم چک کنید که آیا فراهم کننده ی هاستتان php 7.0.0 را پشتیبانی میکند یا نه ، اگر نه پس الان زمان آن است که دنبالش بگردید تا بتوانید از مزایای این تاثیر برخوردار شوید .

امیدوارم که این مقاله به شما نشان داده باشد که چه دستاورد هایی را از ارتفا PHP و joomla انتظار دارید . اگر میخواهید بدنید که چه چیزی در Joomla  3.5  تغییر کرده نگاهی به تفکیک ویژگی های joomla 3.5 بیندازید .

ادامه مطلب

نحوه انتخاب یک هاست مناسب

این سوال را بسیاری از افرادی که میخواهند یک سایت ایجاد کنند، می‌پرسند. پاسخ به این سوال بستگی به این دارد که چه نیازها و انتظاراتی از هاست خود دارید؟

هاست‌های رایگان اگر کار شما یک کار تفننی و [فعلا] غیرجدی است، توصیه می‌کنم پول خود را هدر ندهید. هاست‌های رایگان هر کدام محدودیت خاص خود را دارند (برخی محدودیت در حجم کل و برخی محدودیت در حجم یک فایل و …) اما بسیاری از آنها برای نصب یک وبلاگ وردپرسی یا یک فاروم (انجمن گفتگو) مناسب هستند. اگر یک کاربر مبتدی باشید، گیگفا یک نمونه خوب برای شروع است و اگر هم حرفه‌ای هستید، سه گیگابایت فضای رایگان از سرور حرفه‌ای rhcloud سرورهای معتبر ردهت شروع خوبی برای شما خواهد بود. در هاست‌های رایگان، هزینه هاست که رایگان است. در مورد دامنه هم تمام هاست‌های رایگان، یک زیردامنه در اختیار شما قرار می‌دهند تا شما مجبور نباشید هزینه دامنه را بپردازید. اما اگر دامنه خودتان را قبلا ثبت کردید و می‌خواهید از ابتدا به عنوان یک برند فعالیت کنید، باز هم بسیاری از هاست‌های رایگان (از جمله دو سرویس اشاره شده در بالا) این امکان را به شما می‌دهند که از دامنه اختصاصی خود استفاده کنید. بسیاری از افراد، ایده‌ای در ذهن دارند و تصور می‌کنند که ایده‌شان بسیار عالی‌ست و بعد از دو سه ماه، روزی صد هزار بیننده خواهد داشت(!) و با تکیه به همین تصورات، اقدام به تهیه یک هاست گرانقیمت می‌کنند و پس از مدتی سرخورده می‌شوند چون سایت‌شان آن آمار خیالی را نداشته و آنها پول خود را به هدر داده‌اند. من به همه دوستانی که قصد دارند سایتی را استارت بزنند که در مورد آینده آن مطمئن نیستند و تصمیم محکمی برای تکیه بر آن ندارند، توصیه می‌کنم که هاست رایگان استفاده کنند. طبعا اگر پس از گذشت چند ماه مشاهده کردید که تصورات و تخمین‌های شما درست از آب درآمده است و سایت شما قابل سرمایه گذاری است، می‌توانید در عرض چند دقیقه به یک سرور و هاست گران‌تر و با کیفیت بالاتر مهاجرت کنید.
هاست اشتراکی در هاست اشتراکی شما و دیگر مشتریان – که ممکن است تعدادشان به هزاران نفر هم برسد – همگی بر روی یک سرور قرار دارید و منابع سرور (حافظه Ram و پردازنده و پهنای باند اتصال سرور به اینترنت و …) همگی بین کاربران مشترک است لذا اگر یک یا چند تا از سایت‌های مشتریان از منابع بیشتری استفاده کنند، منابع کمتری برای بقیه باقی می‌ماند و سرعت نمایش سایت آنها کاهش می‌یابد. هاست اشتراکی برای سایت‌های کم‌بازدید (مثلا کمتر از هزار بازدید روزانه) توصیه می‌شود. در صورتی که بازدید سایت شما بالاتر رفت یا سرعت سایت شما کاهش یافت (زمان پاسخ‌دهی به دستور ping و اجرای کوئری‌های دیتابیس)، بهتر است به فکر انتقال به سروری قوی‌تر (سرور مجازی vps) باشید. آنچه تحت عنوان هاست نامحدود فروخته می‌شود نیز فقط کلاه‌برداری از مشتریان کم‌اطلاع است. این هاست‌ها نیز یک هاست اشتراکی هستند که صاحب آن برای جذب مشتری بیشتر و سود بیشتر اقدام به ارائه آن تحت عنوان نامحدود (!) می‌کنند اما وقتی حجم اطلاعات یا بازدید یک مشتری بالا رود، مسئول سرور محترمانه از او می‌خواهد که سرور را ترک کند. البته برخی از هاست‌های نامحدود، باکیفیت‌تر هستند اما آنها نیز مشکلات خاص خود را دارند مثلا اگر اطلاعات شما زیاد باشد (فرضا 20 گیگ)، امکان تهیه بکآپ یا انتقال بی‌دردسر اطلاعات به یک سرور دیگر را به شما نمی‌دهند. هزینه سرورهای اشتراکی بسیار ارزان بوده و معمولا حدود 10 تا 100 دلار در سال است و به عنوان مثال «نت افراز» یک نمونه هاست اشتراکی خوب و به‌صرفه است.
سرور مجازی (VPS) و سرور اختصاصی (dedicated server) فقط سنگینی سایت (اطلاعات یا بازدید بالا) نیست که کاربران را مجبور به ترک هاست اشتراکی می‌کند. امنیت هم مساله مهمی است. اگر سایت شما سایت حساسی باشد و افشای اطلاعات مشتریان یا کدهای شما اهمیت فوق العاده بالایی داشته باشد، لازم است حتما به سراغ سرور مجازی یا سرور اختصاصی بروید چون در سرور اشتراکی، اگر سرور یا حتی یکی از هزاران سایت روی آن دارای مشکل امنیتی باشد، امکان نفوذ به تمام سایت‌های دیگر سرور محتمل است. سرور اختصاصی، مانند یک کیس کامل است که در اختیار شماست. ram و cpu و hard و … همگی همان چیزی است که شما انتخاب می‌کنید و واقعا هم همان قطعات روی یک سرور برای شما نصب می‌شود. حتی انتخاب سیستم‌عامل سرور و سایر برنامه‌ها نیز در اختیار شماست. سرور مجازی شبیه سرور اختصاصی است با این تفاوت که از دید شما سرور اختصاصی است اما در واقع، از نظر سخت افزار یک سرور اختصاصی با کمک نرم افزارهای مجازی‌ساز، به تعداد محدودی سرور کاملا مجزای مجازی تقسیم شده است.
لذا سرور مجازی بخشی از یک سرور اختصاصی است (مثلا یک دهم آن) و همچنین تعریف مشتری جدید، سهولت بیشتری برای مدیر سرور دارد لذا سرور مجازی از نظر قیمت، معمولا بسیار ارزان‌تر است (مثلا 25 دلار در ماه). همچنین مدیریت و پیکره‌بندی اولیه نرم افزاری، مشتری را از پرداخت هزینه مدیریت سرور معاف می‌کند و همین دلایل باعث می‌شود که بسیاری از سایت‌های متوسط یا سایت‌هایی که صاحبانشان توانایی پرداخت هزینه بالا را ندارند، سرور مجازی را بر اختصاصی ترجیح دهند. کسانی که برای سایت(هایـ)شان سرور اختصاصی تهیه می‌کنند، معمولا باید هزینه بالاتری را بپردازند. حداقل 100 دلار در ماه برای اجاره خود سرور و همچنین پرداخت هزینه مدیریت نرم افزارهای سرور که بسته به میزان ساعت اختصاص یافته خواهد بود. (بین 10 تا 50 دلار برای یک ساعت کار سرور منیجر) دقت کنید که برخی نرم افزارهای نصب شده بر روی سرور اختصاصی یا مجازی، رایگان نیست و لذا شما مجبور به پرداخت هزینه قانونی آن هستید. مثلا اگر شما برای کنترل پنل هاست خود مایل به استفاده از cPanel یا direct admin یا plesk و … باشید، لازم است هزینه آن را جدا بپردازید. امری که در مورد هاست اشتراکی، به دلیل سرشکن شدن هزینه آن بر روی هزاران یوزر آن، هزینه ناچیزی می‌شود.
هاست ریسلر (نمایندگی میزبانی) دیگر چیست؟! اگر شما مراجعین و مشتریان زیادی دارید که نیاز به هاست دارند، بجای اینکه برای هر کدام از آنها به صورت مجزا هاست خریداری کنید، می‌توانید خودتان فروشنده شوید! برای این کار کافی است یک «سرور مجازی» یا حتی «نمایندگی میزبانی» (که همان هاست اشتراکی است)، خریداری کنید (مثلا به قیمت سالانه 100 الی 200 دلار) و سپس از طریق کنترل پنلی که در اختیار شماست، هاست‌های اشتراکی (با کنترل پنل مجزا) برای کاربران تعریف کنید و به مشتریان‌تان بفروشید.
سرور و هاست ویندوزی بخرم یا لینوکسی؟ اگر سایت شما با زبان asp نوشته شده، مجبور هستید سرورهای ویندوزی تهیه کنید. سرورهای ویندوزی از نظر پایداری و امنیت به پای سرورهای لینوکسی نمی‌رسند و از سویی نیز به دلیل رایگان نبودن سیستم‌عامل و برخی برنامه‌های ضروری (windows, ms sql server و …) هزینه بالاتری دارند.
کلود یا سرویس ابری چیست؟ سرویس ابری، جایگزین خوب و به صرفه‌ای برای میزبانی اشتراکی محسوب می‌شود که مخاطرات امنیتی آن را ندارد و همچنین حق شما در منابع سخت افزاری سرور، مقداری مشخص است و توسط دیگر شرکاء نمی‌تواند دزدیده شود! در سرویس ابری شما به اندازه منابع مورد نیاز خود پول می‌دهید و هز زمان که حس کردید مثلا پردازنده ، رم ، حافظه ، پهنای باند و … بیشتری نیاز دارید، به سادگی می‌توانید آن را ارتقاء دهید.
موقعیت و مکان جغرافیایی هاست مهم است؟ بله! این مساله از دو جنبه مهم است:     زمانی که اکثر بازدیدکنندگان سایت شما در یک کشور خاص هستند، انتخاب سروری که در آن کشور است، موجب سرعت پاسخ‌دهی بالاتر می‌گردد.
البته استثنائا در مورد ایران، به دلیل آپتایم پایین‌تر سرورهای ایرانی و همچنین کم بودن پهنای باند آن، انتخاب سرور ایرانی لزوما گزینه بهتری نسبت به سرور خارجی نیست.
مساله کپی رایت (حق استنساخ)
اگر شما سرور خود را از یک کشور (مثلا فرانسه) انتخاب کنید که به قانون کپی رایت بسیار اهمیت می‌دهد، آنگاه نمی‌توانید فایلی که مجوز انتشار آن را ندارید را پخش کنید چون اگر صاحب آن اثر شکایت کند، شما جریمه خواهید شد و همچنین مسئول سرور ممکن است اکانت شما و کل سایت‌تان را معلق (Suspend) کند.
به همین دلیل کسانی که به دنبال نقض کپی رایت هستند (مثل بسیاری از سایت‌های دانلود غیرقانونی نرم افزار) مجبور هستند از سرورهای واقع در برخی کشورهای خاص (مثل هلند) استفاده کنند.
_____________________
مشاوره تخصصی در مورد خرید هاست جزو خدمات این سایت بوده و در صورتی که در انتخاب هاست نیاز به مشاوره داشتید، می‌توانید به بخش خدمات هاستینگ و ثبت دامنه(www.takinhost.com) مراجعه نمایید.

ادامه مطلب

برنامه نویسی بر پایه وب

یکی از خدمات شرکت آرمان اندیش مهرنگار ایرانیان طراحی وب سایت با برنامه نویسی اختصاصی و راهکارهای سفارشی برای مشتریانی است که نیاز به بخش های انحصاری در وب سایت خود دارند . قدرت و امکانات انحصاری از مزایای این روش طراحی وب سایت میباشد.
با توجه به گسترش روزافزون اینترنت  بسیاری از سازمان ها و شرکت ها  خدمات درون سازمانی و برون سازمانی خود را جهت رفاه ارباب رجوع و مشتریان و یا تمرکز اطلاعات  و یا سهولت در دسترسی اطلاعات در داخل سازمان نیاز به راه اندازی سیستم و یا برنامه نویسی تحت وب سایت و یا برنامه تحت اینترنت  بصورت سفارشی را دارند. شرکت آرمان اندیش مهرنگار ایرانیان با در اختیار داشتن تیم قوی جهت تجزیه و تحلیل و نیاز سنجی سازمان و شرکت شما و مشخص کردن نوع نیاز ، روند ها و فرم های مورد نظر ابتدا روند در نظر گرفته شده را بهینه کرده و سپس با استفاده از تیم برنامه نویسی خود ، برنامه سازمان(یا شرکت) را جهت ارائه خدمات بر روی وب سایت راه اندازی می نماید.
برنامه نویسی تحت وب در واقع راه اندازی خدمات  سازمان و یا ارائه راه حل بهتری بر روی وب سایت می باشد که توانایی ارائه خدماتی سریعتر و آسانتر را به کاربران ارائه می نماید. در پروژه های برنامه نویسی سایت سفارشی یا برنامه نویسی نرم افزار  وب که بصورت برنامه نویسی تحت وب انجام می گردد پس از تعریف پروژه، بخش برنامه نویسی آن نسبت به مراحل و روندهای تایید شده انجام می گردد.
با توجه به اینکه در این بخش تعیین قیمت و یا زمان و مراحل تحویل پروژه بعد از نیازسنجی و آنالیز اولیه توسط تیم تجزیه و تحلیل و برنامه نویس شرکت emeftah انجام خواهد شد لذا در اولین فرصت با ما تماس بگیرید و از نظرات تخصصی مشاورین ما بهره بگیرید.

اسامی زبان‌های برنامه نویسی و نیز کارکردهای این زبان‌ها برای افرادی که اطلاعات چندانی از روند ایجاد یک صفحه اینترنتی ندارند واقعا گیج کننده است.
از سوی دیگر؛ رشد روز افزون وبگاه‌ها با کارکردهای گوناگون و همین طور شکل‌گیری ایده‌های نو در فضای وب باعث شده که زبان‌های برنامه نویسی تحت وب به سرعت پیشرفت کنند و به این ترتیب باز هم بر پیچیدگی‌های موجود بیفزایند.
هدف این مطلب، کاستن از این پیچیدگی‌ها و ارائه یک طبقه بندی کلی از برخی از این زبان‌هاست.
ماهیت زبان‌های برنامه نویسی وب مانند دیگر زبان‌های برنامه نویسی است با این تفاوت که در سمت سرور تفسیر می‌شوند و در مرورگرها خروجی آن به نمایش در می‌آید.
در این مطلب چند زبان پرطرفدار وب معرفی می‌شود.
توسعه وب سایت دارای دو رویکرد کلی تحت عناوین طراحی وب (Web design) و برنامه نویسی وب (Web programming) است که هر یک دارای زبان‌های متعددی برای ساخت یک وبگاه هستند. با توجه به این دو گرایش؛ دسته بندی دقیق‌تری را می‌توان در جدول زیر ارائه کرد

•    برنامه نویسی سمت کاربر (Client side):

غلب طراحان صفحات اینترنتی بر روی برنامه نویسی سمت کاربر تمرکز دارند

برنامه نویسی سمت کاربر (Client side) توضیحات
 

 

 

 

 

HTML

(Hypertext markup language)

 

  • این زبان در سال 1989 توسط تیم برنرزلی خالق وب برای انتشار داده‌ها معرفی شد.
  • ساختار و پیکره‌بندی یک صفحه اینترنتی بر پایه عناصر HTML است که این عناصر در نزد توسعه دهندگان وب همان تگ‌ها هستند. شکل کلی یک تگ HTML بدین گونه است <body>:
  • کلیه اطلاعاتی که قرار است برای کاربر نمایش داده شود باید در بین این تگ‌ها قرار گیرد.
  • در واقع می توان گفت HTML یک زبان برنامه نویسی نیست بلکه زبانی برای نشانه گذاری عناصر صفحات است.
  • در حال حاضر آخرین نسخه این زبان نسل پنجم آن است که در سال 2008 معرفی شد ولی هنوز به تایید کنسرسیوم جهانی وب (W3C) نرسیده و توسعه آن هم هنوز نهایی نشده است.
  • بسیاری از کارشناسان وب معتقدند کد نویسی در HTML5 شکل جدیدتری از خود را نمایان خواهد کرد، به گونه ای که تمام عناصرصفحه‌ها معنا دارتر شده و رفته‌ رفته تبدیل به زبانی برای تولید اپلیکیشن‌ها خواهد شد.
  • اهمیت دستیابی به HTML5 آن قدر زیاد بود که استیو جابز رئیس شرکت اپل در سال 2010 طی نامه‌ای سرگشاده خبر از ظهور HTML5 و نابودی فلش داد.
 

 

Css

Cascading style sheets

  • شیوه نامه آبشاری توسط تیمی از کنسرسیوم جهانی وب با رهبری دو تن از افراد با نام‌های برت‌باس (Bert Bos)  و هیکن لای (Hakon Lie) آغاز به کار کرد به طوریکه اولین نسخه آن  در سال 1960 منتشر شد و قادر بود تغییراتی را بر روی فونت‌های‌ صفحات و رنگ آن‌ها وهمچنین رنگ پس زمینه ایجاد کند. در واقع باید گفت این شیوه نامه آبشاری که در سال 1980 با هدف منسجم کردن اطلاعات اسناد وب توسعه داده شد؛ زبانی برای شکل دادن و آرایش عناصر مختلف صفحات وب است.
  • سپس نسخه دوم css در سال 1998 منتشر شد و در حال حاضر آخرین نسخه آن (css3) همچنان در حال توسعه است. Css وHtml را می‌توان دو یار جدانشدنی از هم نامید زیرا مکمل یکدیگرهستند. به طور معمول هر وب‌سایتی حداقل دارای یک فایل شیوه نامه (استایل) است.
 

 

 

Javascript

  • زبان جاوا اسکریپت توسط برندان ایچ (Brendan Eich) در پروژه مرورگر نت اسکیپ (Netscape) توسعه پیدا کرد و برای اولین بار درنسخه بتای نت اسکیپ 2 عرضه شد. زبان جاوا اسکریپت در ابتدا تحت عنوان لایو اسکریپت (Livescript) معرفی شد و بعدها به جاوا اسکریپت تغییرنام یافت.
  • پویایی صفحات یا به نوعی رویدادهایی (Events) که در صفحات بوجود می آیند برپایه این زبان است. جاوااسکریپت از خانواده زبان‌های اسکریپتی است و قادر است در بین عناصر صفحه قرار بگیرد و عناصر مورد نظر را تحت کنترل خود درآورد. تمام مرورگرها وب امکان فعال و غیرفعال کردن زبان جاوا اسکریپت را برای کاربران خود دارند که این امکان به طور پیش فرض فعال است.
  • بعنوان مثال کلیک بر روی دکمه تایید یک فرم ثبت نام و نمایش یک پیغام خطا در یک باکس می‌تواند به کمک زبان جاوا اسکریپت ایجاد شود. در اغلب وبگاه‌ها برای اعتبارسنجی اولیه فرم‌ها از این زبان کمک می‌گیرند.
jQuery
  • زبان جی‌کوئری یکی از فریم ورک‌های محبوب، پرطرفدار و کم حجم جاوا اسکریپت است که در طی چندسال اخیر به یکی از پرطرفدارترین زبان‌های برنامه نویسی سمت کاربر تبدیل شده است.
  • خالق این زبان جان رسیگ  (John Resig) یکی از توسعه دهندگان ابزارهای جاوا اسکریپت در مرورگر فایرفاکس است که در سال 2006 این زبان را معرفی کرد.
  • زبان جی‌کوئری کاملا رایگان است و تحت دو پروانه GPL و MIT توسعه می‌یابد. جی‌کوئری برای کنترل عناصر صفحات وب دارای توابع بسیار زیاد و همچنین پلاگین‌های متعدد و پرکاربرد است. به عنوان نمونه پیشنهاداتی که در موتور جستجوگر گوگل در ضمن جستجو به کاربران داده می‌شود از زبان جی‌کوئری استفاده شده است.

باید افزود که رابط کاربری (User Interface) به کمک زبان‌های فوق خلق می‌شود و پوسته اغلب صفحات وب سایت‌ها بر پایه همین زبان‌ها استوار است و در نهایت کدهایی که به کمک این زبان‌ها تولید می‌شود توسط مرورگرها تفسیر شده و سپس خروجی آن‌ها برای کاربران به نمایش درمی‌آید

 

 

•    برنامه نویسی سمت سرور (Server side):
پیش از بحث درباره برنامه نویسی سمت سرور، ابتدا باید با سه مفاهیم زیر آشنا شویم.
•    هاست (میزبانی وب): به فضایی اطلاق می‌شود که تمام فایل‌های وبگاه ما بر روی آن قرار دارد.
•    سرور: کامپیوتری است که کاربران در صورت اتصال به اینترنت می‌توانند به اطلاعات روی آن دسترسی پیدا کنند.
•    وب سرور: یک نرم افزار کامپیوتری است که درخواست‌های کاربران را از طریق پروتکل‌هایی نظیر Http را که بوسیله مرورگر ارسال می‌شود را دریافت می‌کند، صفحه درخواستی را یافت می‌کند و در نهایت صفحه‌ وب یافته شده را از طریق شبکه به مرورگر درخواست کننده می‌فرستد.
اغلب صفحات اینترنتی در دوران کودکی وب به شکل استاتیک بودند و برای تغییری کوچک درآنها نیاز به مشقت فراوانی بود. رفته رفته با حضور وب 2 و گسترده شدن جامعه کاربران محتوا محور در وب، صفحات اینترنتی بیش از پیش احتیاج به پویایی داشت و دیگر آن شیوه‌های سنتی پاسخ‌گوی نیازهای گردانندگان وبگاه‌ها نبود. اگر بخواهیم با بیانی ساده کارکرد زبان‌های سمت سرور را تشریح کنیم باید بگوییم وبگاه‌هایی که صفحاتی پویا دارند و دائما در حال تغییر و تولید محتوا در صفحات هستند نیاز دارند این درخواست‌های خود را در قالب یک زبان به سرورانتقال دهند. به کمک این زبان‌ها سیستم‌های مدیریت محتوا به عنوان یک نرم افزار تحت وب تولید می‌شوند تا بتوانند این درخواست‌ها را برای گردانندگان وبگاه‌ها مدیریت کنند.

وب سرور

 

برنامه نویسی سمت سرور (Server side) توضیحات
ASP.NET
  • این کلمه مخفف Active server page  یا صفحات فعال تحت سرور است که نسخه اولیه این زبان تحت فریم ورک دات نت در سال 2002 توسط کمپانی مایکروسافت برای تولید صفحات پویا معرفی شد و در حال حاضر به یکی از پرقدرت‌ترین زبان‌ها برای تولید اپلیکیشن‌های وب مبدل شده است. اپلیکیشن‌های نوشته شده با این زبان در سرورهای ویندوز قابل اجرا هستند و معمولا بانک اطلاعاتی آنها همان Sql Server  معروف است. آخرین نگارش  ASP.NET نسخه چهارم این زبان است که در آن توجه زیادی برروی معماری سه لایه یا MVC داشته است.
PHP
  • واژه PHP بر گرفته از Hypertext Preprocessor می باشد که یک زبان منبع باز و قابل توسعه می باشد و در سال 1994 بوسیله راموس لردوف (Rasmus Lerdorf) کانادایی به وجود آمد. برنامه‌های نوشته شده با این زبان اسکریپتی تحت لینوکس اجرا می‌شود. ناگفته نماند که برنامه‌های نوشته شده با این زبان قابلیت اجرا تحت ویندوز را هم دارا هستند. نام بانک اطلاعاتی این زبان Mysql است و آخرین نگارش این زبان نسخه پنجم آن است که نسبت به نسخه‌های پیشین خود توجه بیشتری روی معماری سه لایه داشته است.
Ruby
  • طراحی و توسعه زبان رابی به اواسط دهه 1990 بازمی گردد. منتشر کننده این زبان فردی به نام یوکیهیرو ماتز ماتسوموتو (Yukihiro Matz Matsumoto) بود. نسخه‌های متعددی از این زبان  طی سال های متوالی توسعه یافت و نسخه پایدار آن در سال 2006 منتشر شد. از محبوب‌ترین فریم ورک‌هایی که در چندسال اخیر برپایه این زبان توسعه یافته می توان Ruby on rails را نام برد که با شعار”کشف بن بست شکنانه برای کاهش موانع ورود به برنامه‌نویسی” شهرت دارد. الگوی طراحی برنامه‌های این فریم‌ورک برپایه MVC است.
Java
  • در ابتدا باید توجه داشت که زبان جاوا و جاوا اسکریپت دو زبان کاملا مجزا ازهم هستند. جاوا یکی از محبوب‌ترین زبان‌ها تا سال 2012 بود. این زبان توسط جیمز گاسلینگ (James Gosling) و تحت لیسانس شرکت سان در سال 1995 خلق شد. جاوا قابلیت پیاده سازی بر روی تمام پلتفرم‌های استاندارد را دارد.

تکنولوژی‌های جاوا را می توان به سه گروه تقسیم کرد :

  • جاوا برای موبایل‌ اپلیکیشن‌ها (J2ME): این تکنولوژی بیشتر با نام J2ME یا Java 2 Mobility Editionشناخته شده است و بیشتر برای مقابله با محدودیت‌های ساخت برنامه‌های کاربردی در دستگاه‌های کوچک مورد استفاده قرارمی‌گیرد و همچنین دارای کتابخانه‌های بسیاری برای توسعه اپلیکیشن است، مانند اپلیکیشن‌های تلفن همراه.
  • نگارش استاندارد جاوا (J2SE): عنوانی که برای این تکنولوژی رواج یافته J2SE است و مخفف عبارت Java 2 platform standard edition می‌باشد. به کمک این تکنولوژی می‌توان طیف وسیعی از برنامه های کاربردی – اعم از بازی‌های گرافیکی تا اپلیکیشن‌های مرتبط با پایگاه‌های داده – را تولید کرد. همچنین در کتابخانه‌های آن کلیه‌API ها و کلاس‌های مورد نیاز وجود دارد.
  • نگارش سازمانی جاوا (JEE): نام این پلتفرم جاوا Java enterprise edition است. این تکنولوژی در توسعه برنامه‌های بسیار بزرگ و سازمانی مورد استفاده قرار‌می‌گیرد، برنامه نویسان این نسخه از جاوا قادرخواهند بود برنامه‌های عظیمی برای شبکه‌ها و حتی سرورها تولید کنند.
ادامه مطلب

امنیت وب سایت ها و سیستم مدیریت محتوا

امنیت وب سایت ها و سیستم مدیریت محتوا

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

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

سیستم مدیریت محتوا

امنیت وب سایت ها را چه مسائلی به خطر می اندازد.

  • هاست وب سایت

اغلب بیشتر مسائل مربوط به هک شدن وب سایت ها مربوط به میزبانی وب یا هاست می شود.امروزه شما در خرید یک هاست انتخاب های زیادی دارید و بهتر است بدانید که مسائل امنیتی تا چه حد در مسئولیت آنهاست و از کجا بر عهده خودتان می باشد.

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

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

در صورتی که از امنیت هاست خود اطمینان حاصل کردید باید به این نکته توجه داشته باشید که امنیت هاست مربوط به زیر ساخت سایت می شود وو آنها مسئول امنیت برنامه هایی که شما نصب کرده اید نیستند..

مسائل امنیتی سایت ها ندرتا مربوط به بخش هاست می شود و در بیشتر مواقع به بخش اپلیکیشن های مورد استفاده ارتباط دارد و خود آن شامل زیرمجموعه های متنوع و گوناگونی است و می توان با محدود کردن دسترسی ها – افزایش اطلاعات و دانش در زمینه امنیت و دریافت برنامه های از منابع معتبر این ریسک را کاهش داد.

حفره های امنیتی کامپیوتر شما

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

روشهای جلوگیری

برای جلوگیری از به وجود آمدن حفره های امنیتی از آنتی ویروس های معتبر و مطمئین استفاده کنید ، برنامه های و فایل های خود را از وب سایت های معتبر دانلود کنید و هیچ فایلی را از ایمیل های ناشناس دریافت نکنید (یک نرم افزار جاسوسی می تواند در قالب یک عکس یا فایل متنی و…. همراه باشد ) ، همیشه سیستم عامل و نرم افزار های خود به ویژه مرورگر را از وب سایت رسمی ناشر آن به روز کنید.

هکر ها برای نفوذ به وب سایت ها حفره های امنیتی نرم افزار ها را می یابند و توسعه دهندگان نرم افزارها با بررسی رفع باگ امنیتی و ارائه نسخه جدید راه نفوذ از طریق آن حفره مسدود می کنند. و شما با آپدیت به جدید ترین نسخه می توانید خود را در برابر آخرین باگ های امنیتی کسف شده ایمن کنید ؛ قابل ذکر است که این بدان معنی نیست که اگر به طور مثال تا به حال ۱۰ باگ امنیتی برای مرورگر کروم کشف شده است این مرورگر دیگر قابل اطمینان نیست بلکه پشتیبانی ، بروز رسانی و رفع حفره های امنیتی دلیل اعتماد داشتن و یا نداشتن به یک نرم افزار است و در این مواقع هکر ها به توسعه آن نرم افزار کمک کرده اند.

یکی از رایج ترین مباحث در برنامه ریزی و طراحی وب سایت استفاده یا عدم استفاده از CMS های معروف که عمدتا رایگان و متن باز هستند می باشد که همین موضوع دلالت بر برتری سیستم های معروف و شناخته نسبت به سیستم های مدیریت محتوای شرکتی و دست ساز می باشد در حقیقت حفره های امنیتی سیستم های اختصاصی به دلیل کم اهمیت بودن کشف نشده است. به طور مثال وب سایت کاخ سفید از سیستم متن باز و رایگان Drupal  استفاده می کند.

حفره های امنیتی وب سرور

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

در صورتی که امینت وب سایت شما اهمیت ویژه ای دارد و از هاست اشتراکی استفاده می کنید (چندین وب سایت در هاست وجود دارد) ممکن است امنیت وب سایت شما در معرض خطر باشد و هر چه شما موارد امنیتی را در نظر گرفته باشید تفاوتی ندارد زیرا در این مواقع هکر از حفره امنیتی وب سایت های ضعیف تر و بی اهمیت که در هاست با شما مشترک هستند استفاده کرده و به سایت شما (هدف) نفوذ میکند ، اطمینان حاصل کنید که مدیران هاست به این مسئله توجه دارند و دسترسی ها را محدود کرده اند و یا سایتتان را به هاست اختصاصی یا سرور انتقال دهید که البته هزینه بالایی نسبت به هاست اشتراکی دارد.

حفره های امنیتی شبکه

شبکه در هر دو سمت ( سیستم مدیریت محتوا از سمت Server و مدیر سایت از سمت Client ) و کل مسیر ارتباطی باید مورد اعتماد باشد این به معنی بکارگیری از firewall  ها امنیت روتر ها و سایر کاربران شبکه است به عنوان مثال نباید از اینترنت کافی شاپ برای ورود به بخش مدیریت وب سایت استفاده کنید ، همچنین استفاده از سیستم های Wireless ریسک بزرگی می باشد ، همچنین اگر مدیریت و امنیت سرور به عهده خودتان می باشد امنیت شبکه متصل به سرور و سایر سیستم ها نیز اهمیت ویژه های دارد.

پسورد ها

با عادات امنیتی خوب می توان از بسیاری از خطر های امنیتی در امان بود ؛ استفاده از پسورد قوی یکی از این عادت ها میباشد.

هدف از قوی بودن پسورد جلوگیری از حدس زدن آن توسط افراد و مقابله با حملات بروت فورس است. و برای آشنایی بیشتر شما کاربران گرامی با این موضوع مطلبی با عنوان “راهکارهایی جهت انتخاب پسورد مناسب” از پیش تهیه کرده ایم. که مطالعه آن می تواند برای هر فردی که در اینترنت فعالیت دارد مفید باشد.

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

پروتکل

در صورتی که سرور شما از سرویس SFTP  پشتیبانی می کند بایستی از این سرویس به جای FTP استفاده کنید ، سرویس SFTP  مشابه  FTP می باشد با این تفاوت که پسورد و اطلاعات شما را با رمزگذاری ارسال می کند و رمز عبور شما هیچ گاه به طور واضح در شبکه ارسال نمی شود و توسط برنامه های جاسوسی و  Sniff قابل شناسایی نیست.

مجوز های دسترسی

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

 

امنیت پایگاه داده

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

ادامه مطلب