انجمنهای فارسی اوبونتو
جامعه کاربران => پروژهها => نویسنده: hamidrezakp در 02 امرداد 1394، 06:32 بظ
-
سلام.این پروژه رو دو ماهی میشه که نوشتم و به شرکت همیارنت دادم تا اونو به کاربرا بدن.گفتن باید امنیتش رو برسی کنیم.منم سورس رو براشون فرستادم تا امنیتش رو برسی کنن ولی امروز فردا میکنن و جواب نمیدن :'(.منم گفتم متن بازش کنم تا همه استفاده کنن و حداقل اجر معنوی ببریم :).
کار این برنامه نمایش دادن مقدار حجم باقیمانده ، تاریخ اتمام سرویس ، وضعیت رایگان بودن اینترنت شبانه و ... اینترنت شما توی یک صفحه و فقط با باز کردن برنامه هست ولی در صورتی که در روش معمولی و بدون برنامه باید وارد سایت بشین و هربار نام کاربری و رمز عبور رو وارد کنید، که کار خسته کننده ایی هست.نسخه ویندوز هم نوشتم .و اگر استقبال بشه بزودی نسخه گنو لینوکس رو هم میسازم.
اینم اسکرین شات ها :
(https://camo.githubusercontent.com/1c6138eb6afa666573e5bfcc7136c2a8417b8e12/687474703a2f2f75706c6f6164372e69723f703d616374696f6e26713d646f776e6c6f61642666696c656e616d653d5872474f417a33437563644d4a734b7a67666153687a32717166784f37656b5577527a5867737143)(https://camo.githubusercontent.com/0166bafee07e900479a154cde3d00790169c07d1/687474703a2f2f75706c6f6164372e69723f703d616374696f6e26713d646f776e6c6f61642666696c656e616d653d72506e354f4f6f7374375738467939466d62556e465a614e52545a467a72585238624d4d50323661)(https://camo.githubusercontent.com/8abb500af5b7c6c012fad24c10c14f821b26f8f9/687474703a2f2f75706c6f6164372e69723f703d616374696f6e26713d646f776e6c6f61642666696c656e616d653d4f6e44556e53346d516663594b7371686673464e6e43554373343467774255625070573339516550)
امکانات برنامه :
نمایش حجم باقی مانده به صورت گیگ
نمایش حجم باقی مانده به صورت شارژ (ریال)
نمایش تاریخ ایجاد کاربر به صورت شمسی
نمایش تاریخ اتمام سرویس به صورت شمسی
نمایش وضعیت رایگان بودن اینترنت شبانه
نمایش حجم (گیگ) ذخیره
نمایش شارژ ذخیره
و ...
لینک دانلود برنامه :
نسخه اندروید :
دانلود از مدیافایر : http://www.yon.ir/hamyar11 (http://www.yon.ir/hamyar11)
نسخه ویندوز :
دانلود از مدیافایر : https://www.mediafire.com/?e08tqc2vn4jlgc8 (https://www.mediafire.com/?e08tqc2vn4jlgc8)
نسخه جاوا که روی مک ، گنو/لینوکس ویندوز و کلا هر چیزی که جاوا رو باز کنه اجرا میشه و محیطش خط فرمان هست :
دانلود از مدیا فایر : http://www.mediafire.com/download/mipffheaafjxm8k/HamyarNet+Charge+Viewer.jar (http://www.mediafire.com/download/mipffheaafjxm8k/HamyarNet+Charge+Viewer.jar)
سورس پروژه روی گیت هاب :
https://github.com/hamidrezakp/HamyarNet-Charge-Viewer (https://github.com/hamidrezakp/HamyarNet-Charge-Viewer)
منتظر نظرات و پیشنهادات و انتقادات شما در رابطه با بهتر کردن برنامه .
-
فک کنم همیار نتی ها با این قضیه اوپن سورس شدنش به شدت مخالفت کنن!!!
منتظرم تا نسخه لینوکسیشو تست کنم.درصورت امکان برای سیستم های دیگه هم بسازید عالی میشه مثل ویندوز و مک برای پی سی و لب تاپ و وین موبایل و ای او اس و بلک بری برای موبایل ها!
یه خسته نباشید توپ به شما.
-
فک کنم همیار نتی ها با این قضیه اوپن سورس شدنش به شدت مخالفت کنن!!!
منتظرم تا نسخه لینوکسیشو تست کنم.درصورت امکان برای سیستم های دیگه هم بسازید عالی میشه مثل ویندوز و مک برای پی سی و لب تاپ و وین موبایل و ای او اس و بلک بری برای موبایل ها!
یه خسته نباشید توپ به شما.
خب اپن سورس شدنش باعث پیشرفتش میشه و امنیتش رو تضمین میکنه که هیچ سوء استفاده ایی در کار نیست.
نسخه ویندوز رو گذاشتم توی پست اول
-
task.execute(new String[] { "http://accounting.hamyar.net/IBSng/user/index.php?normal_username="+username+"&normal_password="+password });
من متوجه نشدم الان
شما میگید تو حالت عادی باید به وب سایت رفت و یوزر و پسورد رو وارد کرد
خوب برنامه شما هم همینکار رو میکنه و اصولا باید یه یوزر و پسورد رو بگیره از کاربر دیگه ؟
یعنی یوزر و پسورد گرفته میشه فقط دفعه اول و بعد سیو میشه در اون db که توی obb ساخته میشه و از دفعه بعد از اون استفاده میشه ؟
من زیاد جاوا بلد نیستم اما تا جایی که فهمیدم الگوریتم رمزنگاریتون رو خودتون طراحی کرده بودین؟
-
task.execute(new String[] { "http://accounting.hamyar.net/IBSng/user/index.php?normal_username="+username+"&normal_password="+password });
من متوجه نشدم الان
شما میگید تو حالت عادی باید به وب سایت رفت و یوزر و پسورد رو وارد کرد
خوب برنامه شما هم همینکار رو میکنه و اصولا باید یه یوزر و پسورد رو بگیره از کاربر دیگه ؟
یعنی یوزر و پسورد گرفته میشه فقط دفعه اول و بعد سیو میشه در اون db که توی obb ساخته میشه و از دفعه بعد از اون استفاده میشه ؟
من زیاد جاوا بلد نیستم اما تا جایی که فهمیدم الگوریتم رمزنگاریتون رو خودتون طراحی کرده بودین؟
بله همونطور که شما گفتین هست.الگوریتم هم خودم نوشتم که ساده هست.هرچی گشتم نتونستم کلاس کد گذاری خوب پیدا کنم. اگر پیدا کردید سورس رو ویرایش کنید و یک فورک بسازید . ;)
-
خوب من جاوا بلد نیستم متاسفانه اما این شکلی یکم مشکل داره
اخه برنامه هم اوپن سورس شده عملا هر کس که یکمی جاوا بلد باشه و سورس رو بخونه میتونه دیکد کنه خیلی راحت
به نظر من الگوریتم رمزنگاری که میسازید رو باز نکنید و فقط در احتیار یک شرکت خاصی قرار بدید که گواهی کنه که بد افزار یا ... نیست
چون اینطوری چیزی به نام امنیت وجود نداره عملا کاربر اطلاعات اکانتش رو در یک فایل در گوشیش حمل میکنه که خیلی راحت هم خونده میشه !!
-
خوب من جاوا بلد نیستم متاسفانه اما این شکلی یکم مشکل داره
اخه برنامه هم اوپن سورس شده عملا هر کس که یکمی جاوا بلد باشه و سورس رو بخونه میتونه دیکد کنه خیلی راحت
به نظر من الگوریتم رمزنگاری که میسازید رو باز نکنید و فقط در احتیار یک شرکت خاصی قرار بدید که گواهی کنه که بد افزار یا ... نیست
چون اینطوری چیزی به نام امنیت وجود نداره عملا کاربر اطلاعات اکانتش رو در یک فایل در گوشیش حمل میکنه که خیلی راحت هم خونده میشه !!
درسته پس چیکارش کنم؟
نمیتونم که اون فایل رو از سورس رو پاک کنم.
-
خوب من جاوا بلد نیستم متاسفانه اما این شکلی یکم مشکل داره
اخه برنامه هم اوپن سورس شده عملا هر کس که یکمی جاوا بلد باشه و سورس رو بخونه میتونه دیکد کنه خیلی راحت
به نظر من الگوریتم رمزنگاری که میسازید رو باز نکنید و فقط در احتیار یک شرکت خاصی قرار بدید که گواهی کنه که بد افزار یا ... نیست
چون اینطوری چیزی به نام امنیت وجود نداره عملا کاربر اطلاعات اکانتش رو در یک فایل در گوشیش حمل میکنه که خیلی راحت هم خونده میشه !!
درسته پس چیکارش کنم؟
نمیتونم که اون فایل رو از سورس رو پاک کنم.
چرا میتونید.
کافیه توضیح بدید که برای امنیت بیشتر نوع رمز نگاری از سورس برنامه حذف شده.
خیلی از نرم افزار ها به این شیوه عمل میکنند.
باز هم بهتر از افراد وارد تر بپرسید در این زمینه nixoeen و دانیال خیلی میتونند بهتون کمک کنند.
-
خوب مجبور نیستید اون فایل رو اوپن سورس در اختیار بگذارید و مجبور هم نیستید حذفش کنید
میتونید اون فایل رو کامپایل کنید و در پوشه bin قرار بدید و یا خود اون فایل رو رمزنگاری کنید جاوا رو نمیدونم اما در بش بطور مثال بخوام من اینکار رو بکنم اول با c++ یه کدی مینویسم و کد های بش ام رو تو اون برای اجرا قرار میدم و یا از نرم افزار های مخصوص اینکار استفاده میکنم برای جاوا هم سرچ کنید مطمئنا هست
http://www.excelsior-usa.com/articles/java-obfuscators.html
http://stackoverflow.com/questions/16062432/protecting-java-source-code-from-being-accessed
http://www.jwrapper.com/protect-your-java-code.html
-
ممنون بچه ها.فعلا فایل رو حذف کردم و توضیحاتش رو هم نوشتم.
-
سلام . نسخه جاوا رو اضافه کردم .محیطش فعلا خط فرمان هست ولی بعدا براش محیط گرافیکی هم میسازم.
پیشنهاد من : میتونید با استفاده از کانکی روی دسکتاپتون شارژ اینترنتتون رو هم ببینید. یه قابلیت اضاف کردم که میتونید یکی از موارد رو به صورت text از برنامه خروجی بگیرید سورس هم روی گیت هاب گذاشتم. 8)
-
۱. گوشی تلفن وسیلهٔ شخصی است. مشکلی نداره که گذرواژهها توش ذخیره بشن. میتونی یه امکان بذاری برای این که اگه کسی خواست گذرواژهاش ذخیره بشه.
۲. هیچ وقت هرگز تحت هیچ شرایطی به هیچ عنوان الگوریتم رمزنگاری خودتون رو اختراع نکنید! از استانداردهای جهانی استفاده کنید که خیلی امنترن.
۳. اگه برنامهای با دیده شدن کدهاش امنیتش کم میشه، یعنی بدون دیده شدن کدهاش هم هیچگونه امنیتی رو نمیشه براش متصوّر شد و اون برنامه ناامنه!
-
۳. اگه برنامهای با دیده شدن کدهاش امنیتش کم میشه، یعنی بدون دیده شدن کدهاش هم هیچگونه امنیتی رو نمیشه براش متصوّر شد و اون برنامه ناامنه!
نمیخوام اسپم بدم ولی توی یک سال گذشته ، این بهترین جمله ای بوده که توی انجمن دیدم :)
-
نمیخوام اسپم بدم ولی توی یک سال گذشته ، این بهترین جمله ای بوده که توی انجمن دیدم :)
البته حرف من نیست، بهش میگن Security through obscurity
https://en.wikipedia.org/wiki/Security_through_obscurity
-
چرا پسورد رو هش نمیکنی و بعد ذخیره کنی؟
این کار دو تا خوبی داره و اون اینه که اولا برگشت ناپذیره ( ینی هیشکی از رمز هش شده نمیتونه به رمز واقعی برسه ) و دوما اگرچه با دسترسی به رمز هش شده بازم با شرایطی میشه به سیستم وارد شد اما حداقلش اینه که رمز اصلی طرف لو نمیره چون ممکنه این رمز رو برای سرویس های دیگه ای هم استفاده کرده باشه
میتونی برا هش کردن رمز از توابع هشی مث MD5 ، SHA1 و یا SHA2 استفاده کنی. قبلش یه تحقیقی در مورد این توابع بکن چون هر کدوم از اینا یه رشته ای با اندازه ای ثابت رو به عنوان خروجی میدن. درکل به نظر من بهترین راه حل برای مورد شما اینه و از اول نباید الگوریتم خودتون رو مینوشتید
-
https://en.wikipedia.org/wiki/Bcrypt
http://www.mindrot.org/projects/jBCrypt
حتماً به این تابع یک نگاهی بندازید.
-
چرا پسورد رو هش نمیکنی و بعد ذخیره کنی؟
این کار دو تا خوبی داره و اون اینه که اولا برگشت ناپذیره ( ینی هیشکی از رمز هش شده نمیتونه به رمز واقعی برسه ) و دوما اگرچه با دسترسی به رمز هش شده بازم با شرایطی میشه به سیستم وارد شد اما حداقلش اینه که رمز اصلی طرف لو نمیره چون ممکنه این رمز رو برای سرویس های دیگه ای هم استفاده کرده باشه
میتونی برا هش کردن رمز از توابع هشی مث MD5 ، SHA1 و یا SHA2 استفاده کنی. قبلش یه تحقیقی در مورد این توابع بکن چون هر کدوم از اینا یه رشته ای با اندازه ای ثابت رو به عنوان خروجی میدن. درکل به نظر من بهترین راه حل برای مورد شما اینه و از اول نباید الگوریتم خودتون رو مینوشتید
نظر منم اول هش بود ولی هش یک طرفه است یعنی قابلیت برگشت نداره . مثلا وقتی من پسورد رو هش میکنم دیگه نمیتونم برای بار بعدی اون رو به رشته تبدیل کنم و استفاده کنم.
هش موقعی بدرد میخوره که بخوای دوباره از کاربر پسورد رو بگیری و هش کنی و با هش قبلی مقایسه کنی.
-
من یک سوال انحرافی دارم!
این همیارنت مگر چقدر مهم بوده که شما براش برنامه نوشتید؟! از سایتشون برمیاد فقط یک واسطه است!
-
من یک سوال انحرافی دارم!
این همیارنت مگر چقدر مهم بوده که شما براش برنامه نوشتید؟! از سایتشون برمیاد فقط یک واسطه است!
من به طور تفننی برنامه رو نوشتم :D. تا کار خودم راحت تر بشه.بعد دیدم عه! این برنامه که کامل هست و همه میتونن ازش استفاده کنن و کار کاربرای دیگه خیلی راحت میشه.ولی شرکت همیارنت پیگیر نیست و حتی به خودش زحمت نداده که تستش کنه. :'(
منم گفت بزارم تو اینترنت تا همه استفاده کنن. ;D