سلام
چجوری باگ اسکریپت ها رو پیدا می کنن؟؟؟؟؟ میشه راهنمایی کنید که چطوری چک کنم که اسکرپت نوشته شده تو سط خودم یا اسکریپتی که دانلود کردم باگ داره یا نه؟
نمایش نسخه قابل چاپ
سلام
چجوری باگ اسکریپت ها رو پیدا می کنن؟؟؟؟؟ میشه راهنمایی کنید که چطوری چک کنم که اسکرپت نوشته شده تو سط خودم یا اسکریپتی که دانلود کردم باگ داره یا نه؟
این سوالتون خیلی کلی هست و اگر آشنایی با php ندارد از پایه سوال قابل پاسخ نیست؛
جهت باگ زدایی باید مهارت و تخصص کافی در php داشته باشید؛اگر این اصل رو ندارید اصلا پیگیر این قضیه نشید و از یک فرد آشنا به php کمک بگیرید، الته این در خصوص اسکریپت های کوچک کاربرد دارد و در خصوص اسکریپتی مثلا هم اندازه وردپرس ؛ نیاز به صرف زمان بالا و چند ماهه و تخصصی می باشد.
(اصولا اگه باگ به راحتی قابل پیدا شدن و رفع شدن بود مطمئانا نویسندگان اون اسکریپت این کار رو انجام می دادند.)
متاسفانه مورد دیگه ای که خیلی دیده میشه سپردن سایت به تیم های ( مثلا) امنیتی می باشد که سایت را در نیم ساعت یا یک ساعت چک می کنند که باگ نداشته باشد ! :) که یکی از طنز ترین موارد امنیت است.
دوست عزیز اولا برای تست امنیتی اسکریپت همانطور گفتند باید برنامه نویسی بلد باشید اونم در حد فوق حرفه ای .
دوم اینکه اگر این مهارت را ندارید باید به متخصص این کار بدید چک کنند امنیت کار انجام میدند که کسی را میشناسم که کارش خوب هست و حرفه ای fullsecurity.org & iranhack.org
من با اینا کار کردم و میشناسم خیلی وقته خوب هستند .
سوم اگر میخواید فقط در حد 60% از اسیب پذیر بودن اسکریپتتون متوجه بشید فقط جهت متوجه شدن نه حل ان میتوانید از اسکنر های امنیتی که معروف ترینش acunetix.com این هست را استفاده کنید ( البته اسکنر های امنیتی 100% نیستند یعنی تشخصی پیدا کردن بین 60 تا 70% نشون میده و اگر حرفه ای و 99% میخواین باید به اون 2 سایت بالا که دادم در ارتباط باشید جهت امنیت و پیکربندی سایتتون . با تشکر.
امنیت بحث گسترده ای هست و از رمز عبور شما شروع میشه تا کانفیگ نبودن csf و حمله از طرف سرور . متاسفانه خیلی از سایت های معروف هم با مهندسی اجتماعی هک شدن !!! همونطور که دوستمون عرض کردن نرم افزار acunetix در صورتیکه به زبان برنامه نویسی PHP مسلط هستید توصیه میشه و باگ هایی مثل xss و csrf و ... رو میتونید پیدا کنید و رفع کنید هرچند رفع کردن این باگ ها به معنای رفع 100٪ این باگ ها نیست و ممکن هست در قسمت های دیگه ای از سایت شما هم موجود باشند.
زیاد هستن افرادی که براتون نیم ساعته دیباگ میکنن!!!
به نظر بنده ی حقیر
دیباگ و خطایابی و توسعه یک اسکریپت یا نرم افزار چندین ماه تا حتی چندین سال طول میکشه
در برنامه نویسی پیشرفته و بالای فوق لیسانس امکان برخوردن به بمبست برنامه نویسیبسیار زیاده
چیزی که من الان دچارش شدم
و به این صورته که خطا و باگ هیچ ردی از خودش به جا نمیذاره.مدام باید فانکشن های مختلف رو غیر فعال کنی لاگ های بیشتری ازش بگیری تا بالاخره یه جا به تور بندازیش و گاهی وقتا ممکنه پیداش هم نکنی!!!و مجبور بشیکلا سیستم و عملکرد اون بخش رو در کل عوض کنی
و تمام اینها چه کوچک و چه بزرگ خودش رو نشون نمیده مگرموقع بازدهی و اجرا
بقول معروف باید بیوفته تو کار تا خودشو نشون بده و رفته رفته مشکلات رفع بشه
اونم در شرایط مختلف که همش باید در نظر گرفته بشه
ممکنه تویه شرایطی خوب عمل کنه توشرایط دیگه عمل نکنه
باید دقت کنید به اینا
با سلام
الزاما برای همه تیم ها و شرکت ها این موضوع صادق نیست . مثلا ما پروژه های دریافتی را حداقل زمان بررسی 2 هفته است و موارد زیر بررسی می شود.
تست نفوذپذیری و بررسی نقاط آسیب پذیر وب سایت ها :
به طور کلی ما در این جا با سه روش برای پویش آسیب پذیری ها مواجه هستیم :
White box ، خواندن و آنالیز سورس کدهای برنامه و کشف آسیب پذیری ها با مطالعه تمام و کمال منابعی است که در دسترس کارشناس امنیت می باشد و او با آشنایی با زبان برنامه نویسی آن سیستم سعی خود را در کشف نقاط تاریک کد می نماید.
Black Box ، تست کور ، تستی که هیچ اطلاعاتی از نحوه ساختار برنامه در آن موجود نیست ، و نفوذ گر فقط با دانشی که از مواجهه با این برنامه ها به دستی آورده ، می تواند ساختاری مبهمی از برنامه مورد تست داشته باشد. (مباحث فازینگ در این مرحله مطرح میگردند )
Gary Box : تست نفوذ پذیری ای است که نفوذ گر منابع اولیه (همانند برنامه اصلی ) و نیز برخی از معرفی نامه ها و نوشتار های کمکی برنامه را در دست دارد .
که به طور کلی درایران روشهای اول و دوم بیشتر متداول می باشد و روش اول که به white box یا جعبه سفید معروف می باشد . که در این حالت source code ها توسط برنامه نویس در اختیار تیم تحلیل و بررسی قرار می گیرد و تیم تحلیل گر به ازای آنالیز کد ها به صورت خط به خط هزینه را برآورد می نماید و به شرکت و یا تیم برنامه نویسی اعلام می نماید که در صورت توافق قرار داد همکاری عقد می گردد . در این حالت مشخص می شود به عنوان مثال بررسی هر خط کد معادل 5000 هزار تومان می باشد . که در این حالت با توجه به بزرگی و گشتردگی کدها بطبع هزینه بررسی نیز بیشتر می شود. دراین قسمت تیم تحلیل گر مباحث مربوط به secure coding را نیز می تواند ارایه دهد که تصمیم گیری آن با تیم تحلیل گر می باشد.
که عمدتا این روش به source-code-auditing گفته می شود.
--- در حالت دوم که موسوم به BlackB0x یا جعبه سیاه می باشد . تیم تحلیل گر بدون دسترسی داشتن به Soruce Code ها اقدام به بررسی و پیاده سازی و شبیه سازی حملات متداول بر روی وب سایت مربوطه می نماید که در صورت حصول دسترسی و یا عدم حصول دسترسی مبلغی از شرکت طرف قرار داد دریافت می نماید که معمولا مبلغ دریافتی در صورت عدم دسترسی 70 % کل هزینه می باشد که با گرفتن دسترسی 100 % پول دریافت می گردد.
چون حالت سوم کمتر استفاده می گردد در صورت نیاز اعلام نمایید تا این مبحث را نیز توضیح دهم.
در تمام مراحل قرارداد کتبی بین دو طرف امضا می گردد. و تعهداتی نیز در این قرارداد لحاظ می گردد.
لذا جهت تست نفود پذیری نمی توان به صورت یکباره بر روی وب سایت شما نظر داد . زیرا نیازمند حداقل ۲ هفته کار مداوم می باشد . که این کار نیز هزینه خاص خودش را دارد.
باتشکر
من منکر امکان بررسی بدون دسترسی سایت برای پیدا کردن باگ های امنیتی نیستم؛ متود هایی مثل SQL injection و حملات ریموت دیگر بدون دسترسی هم امکان یافتن آن ها وجود دارد؛
همچنین با دسترسی به سورس کد ها هم می توانید مواردی را بررسی کنید اما مسئله اصلی بررسی سایت در زمان یکی دو ساعتی است که افراد ذکر می کنند؛
من خودم برنامه نویسم و می دانم برای اسکریپتی که خودم ننوشته باشم و بانحوه کد نویسی آن آشنا نباشم پیدا کردن یک باگ چه مقدار دشوار است!
پیدا کردن باگ صرفا پیدا کردن کد های خطرناک و شل هایی که در فایل قرار داده شده اند نیست؛
جسارت به شما نباشد ولی خیلی ها از عدم دانش کافی افراد سو استفاده کرده و در حقیقت هیچ کار خاصی انجام نمی دهند.
من خودم هیچ وقت نمی گویم دو هفته برای پیدا کردن باگ کافی است! چرا که نمی دانم با چه چیزی رو برو خواهم بود,
اگر همین وردپرس را من دستکاری کنم و یک باگ در آن قرار دهم ( به شرط عدم استفاده از سورس کد اصلی وردپرس و انگار هیچ نسخه ی دیگری از آن در دسترس ندارد)
به راحتی می توانم بگویم بیشتر از دو ماه کار مداوم نیاز است ( البته برای یک حرفه ای ) تا فقط اون یک مورد را پیدا کنید.
کار تقریبا 99% افرادی که در این زمینه مشغول به فعالیت هستند " امن تر " کردن اسکریپت است و رفع باگ 100% نیست.
با سلام
حداقل باز زمانی را اعلام کردم.
در حالی برای یکی از بانک های کشور حدود 3 ماه و نیم فقط یک آدرس وب زمان برد.
و یابرای اپراتورهای تلفن همراه برای 2 تا از اپراتورها یکی شون حدود 6 ماه زمان برد و دیگری از 7 ماه پیش تاکنون ادامه دارد و فقط موضوع بررسی وب سایت نمی باشد.
علاوه بر وب سایت pen test بر روی شبکه هم هست.
مطمئن باشید دانشی در اختیار مختصصین این امر هست که در اختیار برنامه نویسان نیست.
باتشکر
عجب داستانی شد...!
آخه بعضی ها چنان میگفتن بده چک کنم نیم ساعته!!! منم میگفتم چطوری این کار رو می کنه
سخته پس.....
چه جالب!
چند خط کد نوشتم من الان؛ اونم یهویی :) لطف کنید یه باگ از توش در بیارید و اصلاح شده ی اون رو برای من قرار بدید:
http://pastie.org/10211472
یه توضیحی هم بدم ؛ فرض می کنیم فایل هایی که انکلود شدن همه اوکی هستند و برای همین کدشو نزاشتم؛
یه صفحه هست که ما توش لاگین می کنیم و برامون سشن و کوکی میسازه و تو این کد که براتون قرار دادم صفحه ی بعد هست که سشن و کوکی رو چک می کنه و بعد اگه لاگین انجام شد از دیتابیس یه خبری رو می خونه؛
این ساده ترین نوع باگی هست که هر کسی می تونه پیدا کنه.
جدا میگم، یه تاپیک باشه که توش آموزش پیدا کردن باگ اسکریپت، نحوه رفع باگ و .... توش باشه
عملی هم باشه دوستان کد بذارن روش کار کنیم
secure_host عزیز؛
شما الان دقیقا 20 دقیقه است که لینک کد را که ارسال کرده ام دیده اید؛(البته تا لحظه ارسال این پست )
برای یک برنامه نویس معمولی یک دقیقه هم کافی است؛ با توجه به این که دانشی در اختیار مختصصین این امر هست و در اختیار ما برنامه نویسان نیست حس می کردم باید زود تر از این ها پاسخ را ارسال می کردید.
دوست عزیز همه که نمیان کل کد ها فایل های اسکریپت را چند ماه چک کنند .
تیم های امنیتی البته اون 2 تایی که بهتون گفتنم میان اول دستی در لینوکس چک میکنند باگ هایی که بلدند و بعد میان با اسکنر های کختلف تست میکنند و بعد میان باگ هایی که ممکنه در اون اسکریپت تا این چند سال کشف شده را حفظ هستند را مثلا اگر اسکریپت wp اگر تو این 10سال مثلا 500تا باگ کشف شده میان دستی این ها را تست میکنند چون بلدند و میدونند هر کدوم را داشت پچ میکنند رفع میکنند که این کار کار همه هست جز بعضی ها اگر قرار باشه طرف بیاد کل اسکریپت که زمان بر هست چک کنه چندین ماه طول میکشه و قیمت بالایی هم داره و اگر اینطوره شما همان پول را اسکریپت اختصاصی بنویسید بهتره تا این کارا کنید . اما نتیجه گیری : شما به fullsecurity.org یا iranhack.org
باگ هایی که داشته باشه و کشف شده باشه را طبق تجربه و فوق حرفه ای بودنشون رفع میکنند و دیگر هک 1سال اول نخواهید شد حد اقل من که الان 5سال هست که دیگر مشکلی از هک نداشتم از وقتی اینا برام درست کردند خداراشکر با تشکر.
من نمیدونم چرا هر تاپیکی زده میشه داخل انجمن میره سمت کل کل و من بیشتر بلدم و تو بلد نیستی و .......
الان یکی بیاد یه تاپیک بزنه بگه من تو 1 دقیقه یه کیلو سیب زمینی سرخ میکنم بازم چند نفر تشریف میارن یک گوهر فشانی میکنند
سلام و درود.
yastheme عزیز,این تاپیک یک سوال بود و هر کسی یک نظر خاصی داره که بعضی ها درست میگن بعضی ها اون چیزی که میدونن رو گفتن.
اما نمیدونم دلیل اینکه شما اومدی سورش گذاشتی و شخصا داری به secure عزیز میگی بیا باگ پیدا کن چیه.
من خودم مدت زیادی هست تو این زمینه ها هستم.( کوچیک ترین عضو این قسمت ) و از لحاظ علمی و همچنین سواد secure عزیز فقط بهتون بگم که یکی از بزرگان هستن که با سواد بسیار بالایی که دارن,هیچوقت به حاشیه نمیره و فقط نظر خودشون رو به عنوان یک بزرگتر میده که توی این تاپیک,جامع ترین حرف رو ایشون زدن که واقعا درست بود.
میگین که دنبال مچ گیری نیستین.اما عملا دارید تحریک میکنید که این تاپیک سر کل کل نبوده.یک سوال بوده.اما شما شخصی رو هدف گرفتین.
شما برنامه نویس هستین و رشته کاریتون برنامه نویسیه و جناب مسافر ( اگه اشتباه نگفته باشم ) رشتشون هم با سرور و شبکه و ... هستش.
پس بهتره جواب دوست عزیزمون رو بدیم تا اینکه بخوایم بگیم من فلان هستم و پیشمدان هستم و .....
در مورد باگ,حرف های secureدرسته و قدم به قدم باید پیش رفت که برای پیدا کردن باگ باید با برنامه نویسی و انواع باگ ها و نحوه کار با توابع رو یاد بگیرید.
با فایروال هایی میشه بعضی از ورودی هارو بست.اما این بهترین حالت نیست.بهترین حالت سپردن به دست یک برنامه نویسی هستش و بعد از سپردن به کسی که متخصص این کار هستن.
موفق باشید.
God جان,آره.دلیل این کار رو هم نمیدونم.
توی بعضی از تاپیک ها شده من بهتر از تو میدونم و من فلان هستم و ...........
همیشه هم اول کل کل میگن که جسارت نشه یا سوء تفاهم نشه یا ببخشید یا ....
اما عملا دارن یک شخصیت رو مورد هدف میذارن.حالا نمیدونم یک سوال کاربر چه چیزی داره که شروع به کل کل میکنن.
اصلا کل کل نیست !!
ببینید ایشون گفتند دارای تخصص هایی هستند که یه برنامه نویس نداره! یعنی برای باگ گیری یک برنامه نیاز نیست اون زبان برنامه نویسی رو بلد باشی !!
واقعا برام جالب بود؛ من فقط یه تست ارائه دادم که اگه کارشون خوب بود با ایشون همکاری بیشتری داشته باشم!
جناب آقای سنجری هم به همین صورت؛ با ایشون همکاری می کنم اما در تاپیک ها شاید به قولی"کل کل " هم باشد! این موارد سازنده هست و قصد تخریب کسی نیست !
به نظر من دیگه کاربرانی که تجربه تو این ضمینه داشتند جواب دادند اندازه 3 صفحه جوابش هم استارتر متوجه شد الان چی به چی هست بهتره حذف یا بسته شود چون دیگر نیاز نیست با تشکر.
با سلام
جناب yastheme بنده قرار نیست دست بسته در خدمت شما باشم و هر وقت شما فرمودید موردی را بررسی کنم . ما تعهداتی به مشتریان خود داریم که اولویت اول آن پیگیری به موقع درخواست ها و پشتیبانی به موقع است . و فقط در زمان هایی به انجمن مراجعه می کنیم که یک تایم خالی پیداشود.
و همیشه تب wht برای من باز است و مطمئنا اکثر اوقات بنده آنلاین نشون میده.
واما در مورد لینکی که دادید . خدمت شما عرض کنم بنده هیچ دلیل موجه و منطقی پیدا نکردم که auditing یک تکه کد را برای شما به رایگان انجام دهم.
در صورت تمایل به همکاری در سایت ما ثبت نام کنید و تیکت ارسال کنید . پس از پرداخت فاکتور auditing برای کد شما انجام می شود . (جه کد 1 خط باشد و چه n خط )
در مورد پستی هم که فرمودید بنده ادعایی کردم. باید خدمت شما عرض کنم . از اوایل نوجوانی یاد گرفته ام که تجربه و تخصص علاوه بر خدمت در صورتی که نتوان با آن business کرد بدرد نمی خورد. ما عادت داریم توی کار موضوعی را اثبات کنیم . نه صرفا با حرف و ادعا.
در صورتی که می خواهید همکاری کنید. رزومه ما برای حدمات تست نفوذ پذیری مشخص است . در صورت تمایل می تونم در خدمت شما بذارم. و کسی را نیز اجبار نکرده ایم که بیاد از ما این خدمات رو بگیره.
هر کس تمایل داشت می تونه با تحقیق و بررسی رزومه قدرت انتخاب داشته باشه . و این قاعده برای هیچ کس مستثنی نمی باشد. حتی شما دوست عزیز.
روزتون بخیر باشه.
باتشکر
سلام.
این هم اخرین پست من توی این تاپیک
yastheme جان,دوتا نکته
اول گفتین که :
ببینید ایشون گفتند دارای تخصص هایی هستند که یه برنامه نویس نداره! یعنی برای باگ گیری یک برنامه نیاز نیست اون زبان برنامه نویسی رو بلد باشی !!
هرکسی تخصص هایی داره که هیچ کسی نمیتونه به زور بیاد بگه این کارو بکن یا نکن.ایشون تخصص هایی دارن که اگه میخواستن با اینجور کل کل ها جواب بدن,هیچکی نمیتونست نفس بکشه.اما یک شخصیت خیلی خوبی دارن که هیچوقت نمیاد سرصدا کنه که من فلان هستم یا چیزی بلدم یا .....سرشون تو لاک خودشونه و کسانی که از قدیمی های هکینگ و شبکه و ... هستن,ایشون رو میشناسن و میدونن کی هست و چه مهارت هایی دارن
دوما,شما میگید ایشون ادعا کردند,درسته :
ایشون ادعایی کردند و من خواستم ثابت کنند!
اینو شما گفتین.
ما فرض بر این میگیریم که حرف secure عزیز الکی بوده ( با اینکه نیست.چون من با ایشون کار کردم و....) اصلا دوست نداره حتی سورس شمارو ببینه.دوست داره اصلا الکی چیزی رو بگه.مشکلی به وجود میاد؟شما میخوای بگین که سواد شما زیاده یا یکی دیگه سواد نداره؟
و سوم یک نمونه از کارهاشونم بهتون بگم که شما به حساب سروری دارین که از لحاظ امنیت و دیداس و .... خوبه.که قابلیت clude گذاشتین و ....
secure عزیز هم سرور دارن.اما اصلا از روش شما استفاده نمیکنن.به روش خودشون سرورشون رو درست کردند و هیچوقت هم نگفتن که ما سرورمونو فلان کردیم و ..... شما برید داخل سرور ایشون,ببینید چه کارهایی کرده که به جدیت میتونم بگم که بهترین کانفیگر سرور و شبکه و ..... ایشون هستن.اما هیچوقت هیچ ادعایی ندارن و نداشتن.
و آخرین حرف.
تالار گفتمان برای بحث و گفتگو هستش.این تالا گفتمان هم یکی بهترین فروم ها برای سوال و پاسخ و خرید و فروش و کمک و آموزش و .... هستش.نقل قول:
بهتره تاپیک را مسدود کنید تا هم اسپم ارسال نشه؛ هم حد اقل یه بهونه ای برای کاربری دیگه ای باشه :)
دلیل نمیشه که خودمون میایم کل کل رو شروع میکنیم.بعد بگیم بهتره تاپیک بسته شه تا کل کل نشه
خوب تاپیک اگه باز باشه و ما ادعای الکی نکنیم,مشکلی به وجود میاد؟باز باشه تا دوستانی که میتونن بیان توضیح بدن تا حداقل ما بی سوادا چیزی یاد بگیریم و آدم های با سوادی که نمیخوان,نگاه نکنن.
از همه دوستان عذر خواهی میکنم.مخصوصا GOD عزیز.
موفق باشید.
اگر حس می کنید تند رفتم؛ من از شما معذرت می خوام.
شاید حق با شما باشد.
خود من مطمئنا به اندازه شما در زمینه کانفیگ سرور تخصص ندارم،
البته شما هم اگه با صفحه اول دوباره نگاه کنید باید حق بدید؛ با این حال باز هم معذرت می خوام..
البته کاری به افرادی ندارم که در امضا های خود از عنوان تیم های امنیتی استفاده می کنند!! چون اگر بحث کل کل بود الان هیچ کدام از این سایت ها نبودند؛ :)
چون اصولا خیلی از این افراد را در حدی نمی بینم که بخواهم به صورت مستقیم آنها را مورد خطاب قرار دهم.
من فقط روی معذرت خواهیم نسبت به شماست نه شخص دیگری،
شما هم موفق باشید
ممنون از همه دوستای گلم، از گفته های همدیگه ناراحت نشین، همه اینجا با هم رفیقیم، برای یه بحث الکی ارزش و احترام ها رو از بین نبریم
دوستتون دارم قد دنیا
برای بررسی باگ های یک سایت منم با SECURE-HOST موافق هستم که نیازی نیست زبان برنامه نویسی رو بطور کامل بلد باشید یک هکر کارش با برنامه نویس کاملا متفاوت هست، بررسی امنیتی یک سایت هزینه های بالای داره و شرکت و افراد کمی هستند که بصورت حرفه ای فعالیت میکنند و برای سایت های کوچیک اصلا ارزش نداره ،بعضی از دوستان هم هستند که مثل سایت هایی که نام بردن یکساعته امنیت چک میکنند با اکانتیکس میگن سایت شما اصلا باک نداره :-b
اول بهتر است این سوال را بپرسیم چه شخصی این برنامه را نوشته ؟ اگر خودتان نوشتید به مراتب آسان تر خواهد شد...
اما اگر خیر که ابتدا باید سورس ها بخوانید و برای خودتان ترجمه و تفسیر کنید سپس ذهنی فعال داشته تا بتوانید در زمانی که کد هارا می خوانید در ذهنتان اجرا کنید و نتیجه بگیرید(البته بعضی از کد خیلی واضح هستند و نیازی به تحلیل ندارد)
حال شما فکر کن شخص برنامه نویس از استاندارد های برنامه نویسی هم استفاده نکرده باشد که دیگر کار شخصی که دنبال باگ هستش خیلی زیاد خواهد شد...
اگر قصدتان رفع نواقص اسکریپت خودتان هستش ابتدا برید دنبال روش های نفوذ بگردید و سعی کنید روی اسکریپت خودتان تست و محل آسیب پذیر را مخالف یا ضد آن ترمیم یا مجددا برنامه نویسی کنید.
درضمن نرم افزار هایی مثل acunetix اصلا جالب نیستند ، زیرا یک سری اطلاعات غلط هم به شما می دهند... ممکن هستش کلی باگ از اسکریپت شما پیدا کند که اصلا باگ نیستند،زیر فقط یک برنامه است که قبلا توسط برنامه نویس دیگری برنامه نویسی شده .
بدون داشتن سورس هم می توانید باگ پیدا کنید اما شاید گستردگی آنرا با مشاهده ی سورس بیشتر بتوانید درک کنید...
بهتر است در برنامه نویسی از شئ گرایی استفاده کنید (شئ گرایی ربطی به امنیت شما ندارد) به همین خاطر اگر در جایی مشکل برنامه نویسی بود نیاز به ویرایش تعداد زیادی صفحه نیست و تنها با تغییر یک خط کل سورس شما تغییر می کند.
کد شما اگر اشتباه نکنم 7 نکته ی امنیتی دارد که با استفاده از جعل کردن session و cookie و همچنین استفاده از متد get و تغییر شرط sql میتوان به دیتابیس دسترسی داشت.
برای جعل session یا کوکی هم ساده ترین راه استفاده از یک سری افزونه در مرورگر می باشد یا حتی استفاده از مرورگر firefox developer edition که امکان اضافه کردن یا ویرایش یک کوکی را به راحتی ممکن ساخته...
روش دیباگ کردن : ساده ترین راه استفاده از addslashes است که خیلی ابتدایی هستش اما بهترین راه نوشتن یک تابع که تمام یا اکثر مواردی که موجب از دست رفتن امنیت می شود در آن استفاده شود و تمام مقادیر با تابع بررسی شود...
بله حتما دوست عزیز :
شاید الان بگید خوب در خط 13 که با md5 کد میشود ! اما خیلی راحت میتوان به کد های md5 را ک ر ک کرد ! خواستید برنامه ک ر ک رو بهتون میدهم (البته cpu شما روی 100 میره...)کد PHP:
$hash=$_COOKIE["secret"];
$level=$_COOKIE["level"];
$userid = $_SESSION['user'];
$hash2=$_SESSION['secret'];
$page=$_GET['page'];
$id=$_GET['id'];
$query3="SELECT * FROM news WHERE id=$id AND level=$level limit 1";
نکته : شما می توانید از کوکی های استفاده شده ، یک کوکی با همان نام بسازید یا ویرایش کنید و به مقدار آن یک تک کوتیشن اضافه کنید و به دلیل اینکه ما فرضمان بر این است که متغیر های level , hash , userid و ... از دیتابیس گرفته می شوند و درون کوکی یا سیشن میریزند پس امکان باگ زیاد تر می شود.