قالب وبلاگ | ابزار وبلاگ نویسی | دانلود طرح لایه باز

صفحه اصلی انجمن وبمستران عضویت بازیابی رمز عبور همه مطالب تماس با ما
logo2
Medad.io Medad.io
لطفا برای استفاده کامل از خدمات عضو سایت شده و وارد پنل کاربری خود شوید . عضویت و استفاده از خدمات ما رایگان است .
با درج نظر خود در زیر پست ما را در بهبود کیفیت مطالب سایت قالب گراف رهنمون سازید .
چطور یک برنامه نویس php خوب شویم؟
موضوعات اين مطلب :
ریپورتاژ آگهی
,

چطور یک برنامه نویس php خوب شویم؟

شنبه 26 فروردين 1396 - 1:2
20 بازدید

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

در ادامه ۱۰ تکنیک عالی آورده شده که توسعه دهندگان PHP باید یاد بگیرند و هنگام برنامه نویسی از آنها استفاده کنند. این نکات مهارت هایتان را بهبود می دهد و همچنین واکنش گرایی و شفافیت کدتان را افزایش داده و کارایی آن را بهینه تر می کند. بهترین سایت های پربازدید ایرانی از همین زبان برنامه نویسی برای توسعه کار خود استفاده کرده اند.

۱- از برگه تقلب برای SQL Injection استفاده کنید

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

علت اصلی حمله تزریق به پایگاه داده، اسکیپ کردن داده های خروجی است. به خصوص وقتی رخ می دهد که وجه تمایز بین قالب پرس و جو SQL و داده های استفاده شده توسط پرس و جو به دقت حفظ نمی شود. این حمله در برنامه های PHP که پرس و جوها با روش زیر ساخته می شوند، رایج است:

<?php

$query = “SELECT *

FROM users

WHERE name = ‘{$_GET[‘name’]}'”;

?>

در این حالت مقدار متغیر

$_GET[‘name’]

توسط کاربر، منبعی دیگر، تعیین می شود که نه فیلتر شده و نه اسکیپ.

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

با فرض اینکه از MySQL استفاده می کنیم، می توان آسیب پذیری حمله تزریق به SQL را با اسکیپ اسم توسط تابع ()mysql_real_escape_string کاهش داد. حتی اگر اسم فیلتر هم شود یک لایه امنیتی بیشتری به وجود می آید. (اجرای چندین لایه امنیتی ” دفاع در عمق” نامیده می شود و یک روش امنیتی بسیار خوب است.) در مثال زیر برای افرایش شفافیت کد از قراردادهای نامگذاری استفاده شده و در آن فیلتر ورودی و اسکیپ خروجی داده ها نشان داده می شود:

<?php

// Initialize arrays for filtered and escaped data, respectively.

$clean = array();

$sql = array();

// Filter the name. (For simplicity, we require alphabetic names.)

if (ctype_alpha($_GET[‘name’])) {

$clean[‘name’] = $_GET[‘name’];

} else {

// The name is invalid. Do something here.

}

// Escape the name.

$sql[‘name’] = mysql_real_escape_string($clean[‘name’]);

// Construct the query.

$query = “SELECT *

FROM users

WHERE name = ‘{$sql[‘name’]}'”;

?>

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

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

<?php

// Provide the query format.

$query = $db->prepare(‘SELECT *

FROM users

WHERE name = :name’);

// Provide the query data and execute the query.

$query->execute(array(‘name’ => $clean[‘name’]));

?>

صفحه http://php.net/pdo اطلاعات و نمونه های بیشتری را ارائه می دهد. عبارت های آماده قوی ترین موارد حفاظتی را برای مقابله با حمله تزریق به SQL پیشنهاد می دهند.

۲- تفاوت بین عملگرهای مقایسه ای را بشناسید

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

اگر ازتابع ()strpos برای تعیین وجود یک زیر رشته در یک رشته استفاده می کنید نتایج می تواند گمراه کننده باشد: (تابع ()strpos در صورت عدم یافتن زیر رشته مقدار FALSE برمی گرداند)

<?php

$authors = ‘Chris & Sean’;

if (strpos($authors, ‘Chris’)) {

echo ‘Chris is an author.’;

} else {

echo ‘Chris is not an author.’;

}

?>

در مثال بالا از آنجا که زیر رشتهChris در همان ابتدای رشته Chris & Sean قرار دارد، تابع ()strpos مقدار صحیح ۰ را برمیگرداند و این مقدار نشان دهنده موقعیت شروع زیررشته در رشته است. از آنجا که نتیجه عبارت شرطی به صورت مقدار بولین تعیین می شود، مقدار صحیح ۰ به عنوان FALSE ارزیابی شده و شرط شکست می خورد. به عبارت دیگر به جای رشته ‘Chris is an author.’ رشته ‘Chris is not an author.’ چاپ می شود!




عضویت در قالب گراف با تایید ایمیل هست. پس از ایمیل واقعی برای ثبت نام کمک بگیرید.


براي نمايش ادامه اين مطلب بايد عضو شويد !
نام کاربری :
رمز عبور :
تکرار رمز :
ایمیل :
نام اصلی :
کد امنیتی : *

اگر قبلا ثبت نام کرديد ميتوانيد از فرم زير وارد شويد و مطلب رو مشاهده نماييد !
نام کاربری :
رمز عبور :
می خواهم طراحی سایت خود را به قالب گراف بسپارم بزن سفارش بدیم !
نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی
چند مطلب براساس
پربازدید
تصادفی
پیشین
آمار و ارقام قالب گراف
آمار مطالب
تعداد مطالب : 871
کل نظرات : 13686

آمار کاربران
تعداد اعضا : 36247
افراد آنلاین : 4
آمار بازدید
بازدید امروز : 1,324
بازدید دیروز : 5,629
بازدید هفته : 26,937
بازدید ماه : 72,997
بازدید سال : 836,561
بازدید کل : 11,179,241

اطلاعات شما
آی پی : 3.237.200.21
مرورگر :
سیستم عامل :
امروز : شنبه 29 شهریور 1399

نویسندگان وبسایت قالب گراف :

طراحی قالب و وبسایت خود را به ما بسپارید

نمونه کار های حرفه ای گویای حرفه ماست


برترین دیزایین

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

تحویل سروقت

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

پشتیبانی بعداز تحویل

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

ریدیزاین سایت

اگر شما از قبل سایت و قالب را راه اندازی نموده اید یا از قالب های آماده استفاده میکنید و توان مالی سفارش یک قالب اختصاصی را ندارد یا اگر قالب شما اختصاصی است و دیزایین قدیمی دارد و میخواهید آن را بروز کنید تیم ما در اختیار شماست !

کدنویسی برتر و استاندارد

کدی که ما برای طراحی وبسایت شما میزنیم از 0 تا 100 کاملا اختصاصی بوده و با آخرین متد ها صورت گرفته است . html , html5 , css , css3 , javascript , jquery , php نمونه تکنولوژی هایی است که برای طراحی وبسایت شما استفاده میشود !

سئو و بهینه سازی سایت

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

میخواهم همین الآن سفارش دهم

اگر می خواهید طراحی سایت خود را به قالب گراف سفارش دهید از بخش تماس باما یا با شماره تلفن ذکرشده تماس بگیرید. همکاران ما در خدمت شما هستند. درصورتی که از بخش تماس با ما اقدام فرمایید پاسخ شما از طریق ایمیل ارسال میشود .
09146193616 ghalebgraph.ir@Gmail.com

شرح و توضیحات پروژه

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

تمامی حقوق برای قالب گراف محفوظ است و هرگونه کپی برداری از سایت پیگرد قانونی دارد .