وردپرس ۳٫۷ منتشر شد

وردپرس 3.7دیروز ۲۴ اکتبر ۲۰۱۳ نسخه ی ۳٫۷ وردپرس با نام Count Basie رسما رونمایی شد.

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

  1. کاربری آسان
  2. به روزرسانی های مداوم و مرتب
  3. دسترسی بسیار گسترده به قالب ها و افزونه های رایگان
  4. فراوانی منابع و مراجع آموزش

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


دانلود PDF آموزش hspice

آموزش hspiceنرم افزار hspice یکی از قدرتمندترین نگارش های برنامه ی محبوب و کاربرد SPICE است که کمتر دانشجو یا فارغ التحصیل مهندسی برقی را می توان یافت که نام آن را نشنیده باشد یا حداقل برای آشنایی هم که شده با آن کلنجار نرفته باشد.

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

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

(بیشتر…)


راهنمای نصب و راه اندازی vsftpd

سرور FTP روی لینوکس

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

راه حل البته ساده به نظر می رسد. کافیست یک FTP Server روی Centos نصب کنیم تا بتوانیم از طریق یک FTP Client به سرور وصل شویم و فایل های خود را روی آن مدیریت کنیم. ما vsftd را انتخاب کرده ایم. vsftp شکل مخفف Very Safe FTP Daemon است که به صورت پیشفرض از طریق دستور yum روی centos5 قابل نصب است.

(بیشتر…)


آموزش نصب و راه اندازی BIND روی Centos

DNS Serverاگر قسمت های قبلی این مجموعه نوشتار را دنبال کرده باشید حتما می دانید که ما تا ایتجا موفق به نصب و راه اندازی Apache، PHP و Mysql روی سرور لینوکس شدیم و برای راحتی بیشتر در کار با پایگاه های داده phpmyadmin را هم روی سرور نصب و راه اندازی کردیم ولی هنوز یک نقص بزرگ روی سرور ما وجود دارد و آن هم فراهم نبودن امکان اتصال دامنه به سرور است. به بیان دیگر ما برای استفاده از سرور ناگزیر باید از IP آن استفاده کنیم که حداقل برای کاربردهای میزبانی وب اصلا قابل قبول نیست.

به همین منظور در این نوشته می خواهیم با BIND آشنا شویم و آن را روی سرور لینوکس خود نصب و راه اندازی کنیم. BIND صورت مخفف عبارت The Berkeley Internet Name Domain است و یکی از DNS server های محبوب تحت لینوکس است. نصب آن پیچیدگی چندانی ندارد ولی برای تنظیمات DNS Zone روی آن باید کمی حوصله داشته باشیم.

(بیشتر…)


نصب و راه اندازی phpmyadmin4

phpmyadminاگر شما هم تجربه ی کار با یکی از کنترل پنل های هاست را داشته باشید حتما با phpmyadmin هم برخورد داشته اید. phpmyadmin یک بسته ی نرم افزاری تحت وب نوشته شده با php است که برای مدیریت پایگاه های داده ی mysql مورد استفاده قرار می گیرد.

phpmyadmin یک نرم افزار رایگان قدرتمند است و به همین دلیل هم به همراه همه ی کنترل پنل های محبوب میزبانی لینوکس ارائه می شود. علاوه بر Cpanel، DirectAdmin و Kloxo بسته های مدیریت هاست متفرقه هم از phpmyadmin استفاده می کنند.

آن چه در این نوشته به دنبال آن هستیم قرآیند نصب این بسته ی نرم افزاری محبوب به صورت مجزا روی سرور است. phpmyadmin یک بسته ی نرم افزاری تحت وب می باشد و از همین رو نصب و راه اندازی آن بسیار ساده است و در ادامه به صورت مشروح آمده است.

(بیشتر…)


نصب mysql5.5 روی Centos5

Mysql 5.5

در این مجموعه نوشته های که در موردآماده سازی Centos 5 به عنوان وب سرور است، تا اینجا در مورد نحوه ی نصب و راه اندازی Apache و php صحبت کردیم. آنچه مسلم است در بسیاری موارد php و html قادر به تامین همه ی خواسته های برنامه نویس برای پیاده سازی وب سایت های دینامیک و برنامه های کاربردی تحت وب نخواهد بود و به همین خاطر هم ما نیاز داریم که پایگاه داده ی mysql را هم روی سرور نصب کنیم.

به طور پیش فرض mysql5.0 روی Centos5 آماده ی نصب می باشد ولی ممکن است به هردلیلی ما نیاز به نسخه ی بالاتری از mysql داشته باشیم. به عنوان مثال ممکن است بخواهیم از اسکریپت خاصی استفاده کنیم که برای اجرا به نسخه های جدیدتر از mysql5.0 نیاز داشته باشد. در این نوشته مراحل نصب و راه اندازی mysql5.5 را روی سرور لینوکس با سیستم عامل Centos5 با هم بررسی می کنیم.

(بیشتر…)


نصب PHP 5.4 روی Centos5

php

در ادامه ی بحث قبلی در مورد نصب Apache روی Centos5 امروز می خواهیم نصب php5.4 روی Centos را با هم بررسی کنیم.

قبل از هر چیز لازم است اشاره کنیم که به طور پیش فرض php5.1 روی Centos5 آماده ی نصب است و به سادگی می توان آن را با دستور yum نصب کرد. ولی متاسفانه php5.1 برای اجرای برخی اسکریپت های تحت وب کمی قدیمی است. به همین خاطر هم ما در این نوشته می کوشیم تا php5.4 را از یک repository خارجی روی Centos نصب کنیم.

(بیشتر…)


نصب و راه اندازی apache روی Centos

آپاچیدر این نوشته می خواهیم روش نصب و راه اندازی وب سرور Apache را روی سرور لینوکس با سیستم عامل Centos5 بررسی کنیم.

Apache یک وب سرور قدرتمند تحت لینوکس می باشد که تقریبا به استاندارد در وب سرورهای لینوکس تبدیل شده است. البته Apache با نام httpd هم خوانده می شود و از آنجا که لینوکس هم Apache را با نام httpd می شناسد ما هم برای سهولت از همین نام برایش استفاده می کنیم.

علاوه بر httpd وب سرورهای تحت لینوکس دیگری هم وجود دارند که لیست پرطرفدارترین آن ها در ادامه آمده است:

  1. Litespeed
  2. Lighttpd
  3. Nginx

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


پاسخ به یک سوال در مورد ابزارک و سایدبار در وردپرس

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

به همین منظور صورت اصلاح شده ی سوال این دوست گرامی را به همراه پاسخ آن به عنوان مثال عملی کارکردن با سایدبار در وردپرس در ادامه حضور مخاطبان گرامی «روزهای خط خطی» عرضه می دارم؛ با این امید که روشنگر باشد.

سوال: چطور می توانیم با استفاده از تعریف سایدبار در وردپرس به ابزارک های موجود در سایدبار سایت استایل های متفاوتی بدهیم؟

برای پاسخ به این سوال در حالت کلی فرض می کنیم که قالب سایت ما دارای یک فایل sidebar.php می باشد که سایدبارهای ما بناست در درون آن فراخوانی شوند. می خواهیم ابزارک های درون سایدبار استایل های متفاوتی داشته باشند. به عنوان مثال عنوان یک ابزارک خاص را با رنگ سبز و عنوان سایر ابزارک ها را با رنگ مشکی نمایش دهیم.

(بیشتر…)


SQL Injection چیست؟

برای شروع بد نیست بدانیم SQL Injection چیست و یک مثال ساده ی آن را بررسی کنیم.

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

SQL Injection

 رویکرد ما در بررسی SQL Injection بررسی کدهای نوشته شده به زبان php است و به همین خاطر مثال ها و راهکارهای ارائه شده همگی منطبق با زبان php می باشند. با این وجود می توان گفت مثال ها خیلی متکی به زبان نیستند و با اندکی تغییر قابل تعمیم به هر زبان برنامه نویسی دیگری که به نوعی با پایگاه های داده از خانواده ی SQL در ارتباط است می باشد.

SQL Injection معمولا از طریق دستکاری ورودی فرم های HTML پیاده می شود ولی راه های دیگری نیز برای ورود دستورات مخرب SQL به برنامه های کاربردی تحت وب وجود دارد. به عنوان شروع مثال یک فرم ورود به بخش مدیریت یک وب سایت نوشته شده به زبان php را بررسی می کنیم.

...
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username='$username'
AND password = '$password'";
...

کد بالا یک مثال ساده با امنیت بسیار ضعیف است و ممکن است به نظر غیر ممکن برسد که کسی از چنین کدی استفاده کند. با این وجود یک جستجوی ساده در گوگل انبوهی از سایت ها و برنامه های کاربردی تحت وب را نشان می دهد که همگی به همین سادگی در معرض  خطر جدی حملات SQL Injection قرار دارند. (بیشتر…)