راهنمایی در مورد امنیت کد های من ...

k2-4u

Well-Known Member
سلام خوش اومدین :wink:

1- روش بسیار خوبی است . برای اینکه تمیز در بیاد می تونین به صورت زیر استفاده
کنید
PHP:
if($_CONSTANTcode!=1) { header("HTTP/1.0 404 Not Found"); exit; }
PHP:
defined( '_CONSTANTcode'); 
$_CONSTANTcode=1;
require_once("config.php");

2-
ر فرم ها قبل از هر چیز فرم ها رو با جاوا اسکریپت چک می کنم
خب . همون طور که در asp هم تجربه کردین . چک کردن به وسیله javascript .
باعث امنیت نمیشه و فقط کار کاربر رو راحت می کنه .
توصیه میشه هر چیزی که با js چک کردین با php هم بکنید

3-
برای ورودی فرم ها استفاده از htmlentities کافیه .
ولی در همه شرایط باید طول . مقدار های ورودی رو اندازه بگیرین که از یک سایز مشخصی
بیشتر نباشه
----
برای جلوگیری از sql injection نیازی به تابع  htmlentities نیست
PHP:
ولی در مواقع ارسال مقادیر integer به دیتا بیس باید خیلی مراقب باشید
کد:
SELECT * FROM TableName  WHERE(id=0);
در کد بالا . چون مقدار id در تک کوتیشن یا دابل کوتیشن قرار نگرفته
اگر فیلتر بشه باز هم امکان نفوز هست
مثلا
کد:
SELECT * FROM TableName  WHERE(id=0 OR 12);


حالا یک سوال : آیا باید بعد از استفاده از session باید مقادیر اون رو خالی کرد ؟؟ یا فقط موقع خروج اینکار رو کنیم ؟؟؟
خیر لازم نیست خالی کنید . فقط موقع خروج

مقالات داخل امضای منم ببنین

موفق باشید :rose:
 

D.A.V.O.O.D

Member
سلام
کدی که شما برای لاگین گذاشته اید با اینکه از SESSION استفاده کرده اید ، اما استفاده ای که باید می کردید نکرده اید و دوباره روی به COOKIE ( که امنیتش به شدت پائینه ) آوردی .

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

به این می گویند یه لاگین امن و به قول کوروش تر و تمیز :wink:

سوالی بود در خدمتم :)
 

k2-4u

Well-Known Member
برای مقادیر عددی از intval استفاده کنم ؟؟؟
بله + کنترل طول

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


$_SERVER['HTTP_USER_AGENT']
و همه مقادیر $_SERVER خطر ناکه
حتما با regular Expression یا روش های دیگه چک کنید
فرض رو بر این بگذارین که جناب هکر هر مقداری رو میتونه در اینا بریزه و برای شما بفرسته
ظاهران که خوبه (ولی جواب یک عقل کافی نیست )
فقط چرا اینهمه SESSION و
یک Cookie هم گذاشتین؟
نکته : برای هر SESSION یک فایل رو سرور ساخته میشه

ممنون از راهنماییتون استاد
پاینده باشید
خواهش می کنم :rose:
وظیفست .
 

k2-4u

Well-Known Member
$_SESSION['USER_INFO']= md5(md5(“security”.$_SERVER['HTTP_USER_AGENT'].”milad2009”.$_SERVER['REMOTE_ADDR']))
خب . بطور کلی نیازی به این کد نیست!

یا اگر هم شما دوست دارین استفاده کنید به شکل زیر هم میشه زیاد فرقی نمی کنه
PHP:
$_SESSION['USER_INFO']= md5(md5($_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR']));

شما چرا مرورگر و IP کاربر رو چک میکنید ؟ :-?
 

D.A.V.O.O.D

Member
کوروش یه روش هک هست که می یاد session های تولید شده رو جابجا می کنه ، اگه ما مرورگر و آی پی رو توی session ریخته باشیم و چکش کنیم ، هکر حتی با عوض کردن session هم نمی تونه دسترسی داشته باشه !
 

AliBilly

Member
سلام بچه ها ببخشید کار خاصی نداشتم

یه چند تا سایت سرویس دهنده انجمن رایگان بهم معرفی کنید

و لینک قوانین مجید آنلاین رو بهم بدید :green:
 

AliBilly

Member
نخواستم دیگه تایپیک بزنم اگه میشه زود جوابمو بدید

سرویس فارسی میخواستم :rose:
 

k2-4u

Well-Known Member
کوروش یه روش هک هست که می یاد session های تولید شده رو جابجا می کنه ، اگه ما مرورگر و آی پی رو توی session ریخته باشیم و چکش کنیم ، هکر حتی با عوض کردن session هم نمی تونه دسترسی داشته باشه !
بله می دونم . ولی چک کردن IP مشکلی رو حل نمی کنه

و لینک قوانین مجید آنلاین رو بهم بدید
http://forum.majidonline.com/showthread.php?t=4159
 

جدیدترین ارسال ها

بالا