نظرخواهی در مورد کیفیت اجرای این پروژه

آیدین

Member
درود بر دوستان

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

۱.با توجه به زمینه‌ی کارتون نظرتون درباره‌ی این سیستم مدیریت سایت چیه؟ (برنامه نویسی، کدنویسی، گرافیک و طراحی)
۲.به عنوان یک آدم غیر متخصص چطور به نظرتون میاد؟
۳.ارزش مالی کل همچین کاری چقدره؟ (فرض کنید یکی ازتون بخواد براش همچین برنامه‌ای بنویسید و امکان انتشارش رو هم به خودش بدبد) ارزش تنها فروش یک نمونه از این برنامه به یک نفر جدید چقدره؟
۴.ارزش تبدیل به یک سیستم مدیریت محتوای کدباز فارسی تمام عیار داره؟ (با امکان طراحی قالب و برگردوندن به زبانهای دیگه)
۵.فکر میکنید اگه امکان یک شبکه‌ی اجتماعی رو هم بهش اضافه کنم (مثل یاهو۳۶۰) امکان جذب کاربر داره یا الکی دارم قضیه رو زیادی بزرگ میکنم؟
سایت
کنترل پنل
username: admin
password: pass

طراحی و برنامه‌نویسی و گرافیک ناچیزش کار خودمه. برنامه نویسی‌ش با php هست و mysql. شی‌گرا، نزدیک ۷۰-۸۰ تا کلاس و تابع شده. طراحی‌ش بر پایه‌ی css و div هست.
از دو برنامه‌ی جاوای کدباز برای قسمتهای ادیتور جاوا (tinymce) و نمایش عکس بدون انتقال از صفحه (photoslice) استفاده شده بعلاوه‌ی پلیر فلش برای پادکست که خریداری شده و در آینده عوض خواهد شد.
 

Goroop.ir

Member
نظر من در مورد سیستم از :
بسیار خوب ، خوب ، ضعیف ، بد

خوب رو انتخاب میکنم.

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

به هر حال کار خوب و زیباییست

موفق باشید
 

EMIRATES

Active Member
با سلام

سیستم خوبیه - من خوب میدم.

با نظر گروپ موافقم.

امنیتش چک شد - درجه امنیتی : 1 ( از 2 به بعد خطرناکه - این الان مثل Send in clear space هست که درجه 1 گرفته که خطرش 0 ئه )

با تشکر.
 

آیدین

Member
امنیتش چک شد - درجه امنیتی : 1 ( از 2 به بعد خطرناکه - این الان مثل send in clear space هست که درجه 1 گرفته که خطرش 0 ئه )
اگه امنیتش خوب بود که روش تروجان آپلود نمیشد.
فعلن تا بفهمم مشکل چی بوده که تونستن روش تروجان آپ کنن چندتا اسکریپت رو حذف کردم که فعلن چیزی نشه آپلود کرد.
به غیر از چک کردن فرمت فایل موقع انتقال از تمپ به آدرس دلخواه چه کار دیگه‌ای میشه انجام داد که فایل آپلود شده رو از نظر امنیت بیشتر چک کرد؟
 

Goroop.ir

Member
ایدین جان
شما باید در مقدار گیری از post یا get کلمات " ، ' ، '- و غیره رو فیلتر کنید

این کلمات یکی از مهترین اصول امنیت در برنامه نویسی PHP میباشد که باید رعایت شوند
 
آخرین ویرایش:

EMIRATES

Active Member
با سلام

من شل آپلود کردم عزیز.

باگی که داره در قسمت گالری هست.

میشه php رو با gif.php یا jpg.php آپ کرد.

با تشکر.
 

آیدین

Member
شما باید در مقدار گیری از post یا get کلمات " ، ' ، '- و غیره رو فیلتر کنید
مرسی، یکم بیشتر توضیح میدی؟
مشکلی که پیش اومده ظاهرن به خاطر محتوای فایله.
من در مورد فیلتر ورودی خیلی حساس بودم ولی اگر منظور شما حذف این کاراکترها از محتوای فایله اونوقت این کار مشکل ایجاد نمیکنه؟
اگر فایل تکست باشه میشه با htmlentities این کاراکترها رو جایگزین کرد و مطمئن بود اتفاقی در نمایش نمی‌افته ولی در مورد یه فایل jprg یا gif چطور؟
باگی که داره در قسمت گالری هست.

میشه php رو با gif.php یا jpg.php آپ کرد.
جالبه که چطور FILES['file']['type'] این رو تشخیص نمیده.
میشه پسوند رو هم چک کرد ولی راه مطمئن دیگه برای چک کردن فرمت فایل نیست؟
 

EMIRATES

Active Member
با سلام

اگه میتونید - یه اسکریپت آپلود عکس پیدا کنید.

مثل همین مجید آنلاین که میاد فایلو میخونه - اگه واقعا فرمت عکس بود بعد دستور آپلود میده.

با تشکر.
 

آیدین

Member
اگه میتونید - یه اسکریپت آپلود عکس پیدا کنید.

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

Goroop.ir

Member
دوست عزیز ایدین جان :
همانطور که گفتم یکی از مهترین اصول امینیت در php همین کاراکتر های ' ، " ، و کلی کاراکتر های دیگه ...
که برای جلو گیری از این کاراکتر ها باید به روش زیر استفاده کنید :
به عنوان مثلا برای جستجو در دیتابیس :
PHP:
--------------1--------------------------
$Username = "ali";
mysql_query("SELECT * FROM `db` where name='$Username'");
در اولین مثلا دستور به طور صحیح وارد شده است در مقدار $Username هیچ کاراکتری وجود ندارد که برنامه را دچار مشکل کند
ولی در این مثال :
PHP:
--------------2---------------------
$Username = "ali 'salam";
mysql_query("SELECT * FROM `db` where name='$Username'");
در این مثال دومی در مقدار $Username از کاراکتر ' استفاده شده است و کوئری گرفتن ما دچار مشکل میشود و به همین راحتی سایت رو میشه از کار انداخت ولی برای جلو گیری از این همه کاراکتر باید از این روش که صحیح تر است استفاده کنیم:
PHP:
$Username = "ali 'salam";
$Username = preg_replace("([^a-z0-9_]*)", '', $Username);
mysql_query("SELECT * FROM `db` where name='$Username'");

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

Goroop.ir

Member
و برای یک اپلودر خوب و ساده و امنیت دار که خودم نوشتم استفاده کن بنظرم سیستم خوبیه توضیحاتشم که داخل خود کد نوشتم
PHP:
<?
if (!isset($_POST['target']))
{
echo "
<form action='' method=post enctype='multipart/form-data'>
<input name='new_file' style='width:68%' type='file'> <input name='target' style='width:30%' type='submit' value='upload'>
</form>";
}else{

$file_dir = "./images";
// baraye ezafe kardane passvand bayad intori ezafe kard dar argoman ".zip", ".txt", ".php"
$limitedext = array(".zip");
foreach($_FILES as $file_name => $file_array)
{
// inja miyad miyad pasvande filo joda mikone
$ext = strrchr($file_array['name'],'.');
// inja miyad passvand haro chek mikone va agar ba pass vand hayi ke dar array oomad dorost nabood eroor zir ro neshan mideh
if (!in_array(strtolower($ext),$limitedext)) {
echo "khata dar upload fail dar system";
}else{

if (is_uploaded_file($file_array['tmp_name']))
{
move_uploaded_file($file_array['tmp_name'], "$file_dir/$file_array[name]");
echo "<br>upload shod <br> name files : $file_array[name] <br> size : $file_array[size]";
}
}
}
}
?>

بازم موفق باشید.
 

آیدین

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

آیدین

Member
نتیجه‌ی پیگیری من:
خیلی راحت عرض کنم، mime type پی‌اچ‌پی قابل اعتماد نیست!
چیزی که خیلی جاها توصیه شده بود استفاده از اکستنشن fileinfo بود که ظاهرن کار رو راه میندازه و قراره در php6 هم مورد بازبینی قرار بگیره
برای فایل‌های تصویری میشه از یک کلک هم استفاده کرد. استفاده از getimagesize که البته اون هم ظاهرن قابل اعتما نیست.
 

EMIRATES

Active Member
با سلام

میتونی از تابع های زیر استفاده کنی.

راهنماش در سایت PHP هست.

imagesx()
imagesy()
imagecreatefromgif()
imagecopyresampled()

البته دقت کنید در کار با اونها

با تشکر.
 

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

بالا