هشدار جدی به کاربران
استفاده از جاوا را متوقف کنید
نوشته علی عظیمیپور • 08 شهريور 1391
زبان برنامه نویسی جاوا از محبوبیت خاصی برخوردار است؛ مخصوصا در محیطهای ممتاز. این محبوبیت از زمانی که شرکت اوراکل مالکیت جاوا و باقی محصولات Sun Microsystems را در اختیار گرفته است رو به کاهش است. شرکت اوراکل از ابتدا با محصولات RDBMS خود معروف شد. حالا جاوا را نیز در اختیار دارد اما هرگز از جاوا مانند محصولات دیگرش پشتیبانی نکرده است و از نسخه ۷ به بعد این موضوع به طرز عجیبی رضایت برنامه نویسان را کاهش داده و حالا هم با کم کاریهایش این زبان برنامه نویسی را به روزهای پایانی خود نزدیک میکند.
یک ماه پیش شرکت مایکروسافت اعلام کرد که کاربرانش بیشتر از قبل مورد حمله بدافزارهای جاوا هستند. همچنین از کاربران خود خواست تا این محصول را بروز رسانی کنند و یا آن را از کار بیندازند. به نظر این هشدار امروز جدیتر شده است. اما متاسفانه اوراکل از ماه گذشته تا کنون هیچ اقدامی در این زمینه نکرده و بروز رسانی جدیدی منتشر نکرده است. پس تنها یک راه حل باقی مانده، آنهم اینکه جاوا را از کار بیندازید! اکثر شرکتهای امنیتی نیز بر این باور هستند که در حال حاضر تنها راه حل از کار انداختن جاوا در مرورگرهای اینترنتی است.
بدافزارها بر روی نسخه ۷ جاوا، تمامی زیر نسخهها و تمامی پلتفرمهای آن عمل میکنند و منبع اصلی آنها کشور چین است که به نظر دربرنامه کاری خود توقف و یا کاهش حملات را اصلا پیش بینی نکرده است. وبلاگ DeepEnd در این زمینه بسته نرمافزاری خاصی را ارائه کرده که به راحتی قابل دسترس نیست، در نتیجه شرکتهای امنیتی هرکدام در این رابطه پیشنهادهایی به کاربران دادهاند که کسپراسکی و Sophos از جمله این شرکتها هستند که براساس هشدارهای جداگانه آنها، بهتر است افزونه جاوا را تا بروز رسانی آن از کار بیاندازید و اگر نیاز واجبی به آن دارید از دو مرورگر استفاده کنید (یکی با قابلیت جاوا و دیگری بدون آن که اولی تنها در شبکه داخلی استفاده شود).
پیشنهاد دیگر نیز استفاده از Firewall ها برای جلوگیری از برنامههای جاوایی که نمیشناسید است. اما همه آن شرکتها؛ یکصدا بهترین راه را از کار انداختن جاوا میدانند.
لازم به توضیح است که جاوا در وب به دو صورت قابل اجراست. کدهایی که در سمت سرور اجرا میشوند و به صورت کدهای HTML و گاها (در سرویسهای گوگل) به شکل جاوا اسکریپت در سمت کاربر دیده میشوند و کدهایی که تحت مرورگر اجرا میشوند. در واقع این وسیله Applet نام دارد که برنامه نویسان حرفهای از آن پرهیز میکنند. به این دلیل که Applet در ابتدا بار زیادی را بر روی کامپیوتر کاربر سوار خواهد کرد و همچنین کاربر همیشه به داشتن نسخهای از جاوا (JRE) وابستگی خواهد داشت و از همه مهمتر، این کدها در سمت کاربر اجرا خواهند شد نه سرور، در نتیجه کدهای مخرب زیادی میتوانند اجرا شوند که همین حالا این کدها باعث این اتفاق شدهاند. در واقع به خاطر بعضی از روشهای برنامه نویسی ایجاد شده در کدها، جاوا قادر به تشخیص کد امن نمیشود و اجازه دسترسی به بعضی از کدهای دیگر نیز داده میشود که در حالت عادی این امر امکان پذیر نیست.
شرکت اپل برای سیستمهای عامل مک، بستهای را ارائه داده است که میتوانید از اینجا دانلود کنید. به هر حال در شرایط فعلی باید منتظر بود تا اوراکل به خود بیاید، اما تا آن زمان بهتر است تا ابزار جاوای مرورگر خود را از کار بیندازید. برای اینکه بدانید اصلا همچین ابزاری را در اختیار دارید یا خیر میتوانید به اینجا مراجعه کنید. حال اگر نیاز دارید تا جاوا را از کار بیندازید میتوانید از این راهنما استفاده کنید. در پایان اگر اطلاعات بیشتری درباره این بدافزارها نیاز دارید میتوانید به این صفحه مراجعه نمایید.
بروز رسانی: شرکت اوراکل با ارائه آپدیت جدیدی از جاوا مشکل به وجود آمده را پوشش داده است که میتوانید این آپدیت را از سایت این شرکت دریافت کنید.
مبین
اوراکل ازت خواهش میکنم گند نزن به جاوا
کیوان
شاید بعضی از مطالب این پست درست باشن اما بنظر من از جانب کسی نوشته شده که با برخی جنبه های جاوا که برای جلوگیری از همچین مشکلاتی از قبل پیشبینی شده آشنا نیست و صرفا جاوا رو یچیز بی هدف توصیف کرده.
در کل جنبه های احساسی و قضاوت یک طرفه در این پست اونقدر زیاده که اونو از یک بررسی علمی دور میکنه.به نظر من البته
jimmyheller
به عنوان کسی که جاوا رو تدریس میکنه، عاشق این زبان هم هست این پست رو نوشتم. اگر قسمتی ایرادی داره لطفا برام ارسال کنید. خوشحال میشم چیزی یاد بگیرم.
کیوان
دقیقا صحبتتون مثل این بود که یکی بیاد 2تا دلیل بیاره مثلا بگه چون من نمیتونم با خدا رو در رو صحبت کنم پس خدایی وجود نداره و نباید وجود داشته باشه و هرکس که میگه داره با این دلیل من اشتباه می کنه
شما مطالبو یجوری جمع کردی که در نهایت به خواننده بگی آقا این جاوا رو پاک کن و بیخیال جزئیات شو. این وسط از آبروی اوراکل تا نظر شخصی خودتون در رابطه با کم شدن محبوبیت جاوا اونم به صورت کلی و چندین و چند چیز که با خیلیاش مخالفم استفاده کردی.هیچ حرف علمی ای نزدی!
jimmyheller
من هنوز هم متوجه نشدم که حرف غلطی زدم یا نه، که باز هم میگم اگر غلط جایی گفتم خوشحال میشم ازتون چیزی یاد بگیرم. اما در مورد اینکه نظرات شخصی هست، بعله نظر شخصی هست اما بر اساس تجربیاتی که در این چند سال کسب کردم. حالا اگر نظر شما این نیست خب ما با هم اختلاف نظر داریم که من اشکالی در این نمی بینم. نکته ای رو هم که متاسفانه هیچ کس دقت نکرده در این مطلب این هست که من گفتم که Applet ها ایراد دارن، توضیح هم دادم، کسی که وارد هست میدونه چطوری اون رو برطرف کنه، کسی هم که بی تجربه است به خاطر اینکه ممکنه خیلی مشکلات براش به وجود بیاد بهتر بود تا قبل از ارائه راه حل فعلا استفاده از جاوا رو به شکل کاربر و کامل متوقف کنه و به علت اینکه اینجا یک وبلاگ خبری هست نه آموزشی لینک حذف قسمت اپلت رو ارائه نکردم. اما به نظر شما اینطور برداشت کردید که من میگم که دیگه باهاش برنامه ننویسید که این برداشت درست نیست. در این گونه از اخبار به علت اینکه همه جور قشر (برنامه نویس خیلی حرفه ای تا کسایی که بلد نیستند) می خوننش خب مطمئنا من خیلی حرفی برای گفتن نخواهم داشت، فکر می کنم همون دو پاراگراف رو هم نباید اضافه می کردم تا این همه حرف و حدیث نباشه، باید به همون لینکی که در مطلب هست اشاره می کردم و پایان میدادم، و من هنوز نفهمیدم مشکل دقیقا از کجاست که شما می خواید بهش اشاره کنید.
میلاد صبح خیز
در مرود امنیت، نمیتونم نظری بدم ولی با «بروز نکردن و پشتیبانی بد» موافقم! بعد از ۵ سال از جاوا ۶ به جاوا ۷ بروز شده که اکثر موارد هم به Exeptionها محذود میشه! و این برای یه زبان برنامهنویسی که اکثرا برنامههای زیرساختی رو شامل میشه خیلی بده!
میلاد صبح خیز
یه نکته خوب اینکه مرورگر کروم، بعد از تشخیص اینکه جاوای نصب شده بروز نیست، خودش به صورت اتوماتیک جاوا رو غیرفعال کرده بود!
hossein
“لازم به توضیح است که جاوا در وب به دو صورت قابل اجراست. کدهایی که در سمت سرور اجرا میشوند و به صورت کدهای HTML به شکل جاوا اسکریپت در سمت کاربر دیده میشوند و کدهایی که تحت مرورگر اجرا میشوند. “
کدهای Applet به هیچ شکل در سمت Client قابل مشاهده نیستند. جاوا اسکریپت هم هیچ ربطی به جاوا نداره. صرفا شباهت اسمی هست.
jimmyheller
بحث سر این نیست که دیده میشه یا نه، مساله اینجاست که در سمت کاربر اجرا میشه، این مهمه! نکته بعدی اینکه اون قسمتی که در مورد جاوا اسکریپت بود در حین باز نویسی متن جا افتاده بود، منظور اصلیم این بود که هم HTML هست و هم در بعضی سرویس های گوگل مثل جی میل که از GWT استفاده میشه جاوا اسکریپت سمت کاربر میره. مطمئنا جاوا و جاوا اسکریپت دو تا مقوله جدا هستند.
امیررضا
محبوبیت جاوا رو به کاهشه؟ شوخی بود؟ تقریبا تمام اسم های معروف دنیا زیر ساخت هاشون جاواست. گوگل، تویتر، فیسبوک، آی بی ام، مجموعه آپاچی، ردهت، خود اراکل، آمازون و تقریبا اکثر برند های معروف دنیا…
یه نکته که خیلی ها بهش اشاره نمیکنن اینه که جاوا یک پلتفرم هستش نه یه زبان! یکی از عناصر اصلی این پلتفرم «زبان برنامه نویسی جاوا» هستش، عنصر اصلی و مهمتر در واقع «ماشین مجازی JVM» هست که به مراتب مهم تر از خود زبان جاواست. در واقع این JVM هست که به عنوان سکوی اجرای برنامه های جاوا عمل میکنه. در اکثر اوقات هم وقتی نسخه ی جدیدی از جاوا در میاد، اکثر تغییرات مربوط به JVM هست نه خود زبان جاوا، هرچند که خود جاوا هم در هر ورژن تغییرات زیادی میکنه. خیلی از این بهینه سازی ها زیر ساختیه. مثل زبان C که سی ساله قابلیت خاصی بهش اضافه نشده، اما کامپایلر GCC تقریبا هر هفته داره کدهایی جدیدی بهش اضافه میشه.
البته محبوبیت «زبان» جاوا مثل گذشته نیست، و اون هم به خاطر آلترناتیو هایی هست که به وجود اومده. مثل Scala یا Clojure یا JRuby که همشون روی JVM اجرا میشن. در ضمن جاوا چند سالی میشه که اوپن سورس شده و اوراکل نمیتونه محدودش کنه. همین الآن روی لینوکس ها نسخه ی کاملا متن باز جاوا نصب میشه. دعوای گوگل و اوراکل هم قضیه اش فرق داشت…
قبلا جاوا محصول اصلی sun بود به خاطر همین خیلی بهش توجه میشد، اما حالا توی اروکل «یکی» از محصولات اصلی به حساب میاد و باید در کنار بقیه محصولات توسعه پیدا کنه. اوراکل خیلی قبل تر از خرید sun توی توسعه این پلتفرم نقش داشته.
این مقاله هم بهتره مشخص کنه که داره در مورد «پلاگین جاوا» روی مرورگرها حرف میزنه که مخصوص اجرای Applet هاست که دیگه با وجود HTML5 اصلا نیازی بهش نیست. همون بهتره که از کار انداخته بشه. نه فقط این پلاگین، بلکه هر پلاگین دیگه ایی که کدهایی رو خارج از اختیار مرورگر اجرا میکنه میتونه خطرات امنیتی داشته باشه.
jimmyheller
مطمئنا در مقاله مشخص کردم که در مورد پلاگین دارم صحبت می کنم. محبوبیت جاوا بعله، در حال کاهش هست. اگر یک برنامه نویس EE باشید مطمئنا این موضوع رو به خوبی درک خواهید کرد و این موضوع در این مقاله نخواهد گنجید. توضیحاتتون رو هم متوجه نشدم که آیا جایی من اشتباه نوشته بودم یا خیر!
امیررضا
بعله اشاره ایی به «افزونه» کردید، اما هم عنوان، و هم تکست مقاله جوری نوشته شده که انگار منظور اینه که کلا از جاوا استفاده نکنید. از کامنت ها و لینک های تویتر هم معلومه که فقط من نبودم که این برداشت رو از این مقاله داشتم.
شما جایی اشتباه نکردید، نوع نگارش مقاله خیلی غلط اندازه. اینکه اوراکل به جاوا بها نمیده، جاوا به روزهای پایانیش نزدیک شده، جاوا مشکل امنیتی داره، دیگه بهتره از جاوا استفاده نکنیم… اینها چیزیه که به آدم تلقین میشه. در صورتی که کاملا بر عکسه. حتی جدیدا اپل دوباره با پلتفرم جاوا آشتی کرده. خبرهاش همه جای نت هست. فیسبوک هم داره کامل به JVM کوچ میکنه.
قبول دارم که «زبان» جاوا و تکنولوژي «Java EE» دیگه مثل قبل محبوب نیست، ولی اینا تاثیری روی محبوبیت JVM نداشته. آلترناتیو های دیگه ایی روی JVM پیدا شدن که محبوبیت بیشتری رو قاپیدن. حتی جیمز گاسلینگ تو یه مصاحبه اشاره میکنه که اصله قضیه JVM هست نه زبان جاوا. این یه تیکه از متن مصاحبه هستش:
Speaking of Java as a language as opposed to the JVM platform, James Gosling, the Father of Java, said “Most people talk about Java the language, and this may sound odd coming from me, but I could hardly care less.”
He went on to explain, “What I really care about is the Java Virtual Machine as a concept, because that is the thing that ties it all together.”
حالا محبوب شدن پایتون و روبی و nodeو این ها به کنار…
من و شما با جاوا آشنایی داریم، اگه یه برنامه نویس تازه کار تر که علاقه مند به جاوا باشه همچین مقاله هایی رو از سایتی مثل وبلاگینا که اسم و رسمی در کرده بخونه دیگه کلا بیخیال جاوا میشه.
احسان
سلام
داستان علمی تخیلی نوشتین !
محبوبیت جاوا رو به کاهشه !
فقط توی ایران هست که دانشگاه ها دارن #C درس میدن ، کدوم دانشگاه دیدین که جاوا درس نده ؟!
درباره دات نت این حرف درسته که خیلی باگ داره ولی جاوا نه.
احسان
البته شما توی سایت شخصی خودتون لینک MSDN گذاشتین !
و توی وبلاگینا آموزش سی شارپ دارین.
jimmyheller
خب فکر می کنم شما فکر می کنید دارم در مورد گجت یا مثلا یک کامپیوتر همراه صحبت می کنم، خیر، بنده دارم در مورد یک زبان برنامه نویسی صحبت می کنم، زبان های برنامه نویسی تغییرات رو در دهه می بینن، نه در سال و ماه و روز، پیش بینی من هم در مورد 10 یا 15 سال دیگه است و یا حتی کمتر، در کامنت یکی دیگه از دوستان هم گفتم، اگر برنامه نویس جاوا باشید متوجه خواهید شد این موضوع رو. در مورد اینکه در وبلاگینا سی شارپ یاد میدیم یا من لینک MSDN گذاشتم، فکر میکنم اصالتا ربطی به موضوع نداشته باشه، چون دو موضوع متفاوت هستن!
حسین
جاوا اسکرپیت با جاوا کلی فرق داره مرد جوان …
احمد
دوست من
تا وقتی تجاری ترین و گرون قیمت ترین نرم افزار های دنیا روی جاوا میگرده روز پایانی ای نداره..
بستگی به وسعت دید شما داره !!! روزهای پایانی خیلی عجیبه !!
در مورد بازار نرم افزار های کوچک اداری یا خانگی و کاربردی هم از قدیم همینطور بوده !!!
بنظر من برای جاوا و C روز پایانی وجود نداره
کل زیر ساخت های مخابراتی و همچنین زیر ساخت های صنعتی و حساس روی نرم افزارهای مقیاس بزرگ جاوا هست ..
نرم افزار هایی که فقط هزینه خرید لایسنس اونها چند میلیارد هست ..
البته بنده برنامه نویس جاوا نیستم بخاطر کارم این اطلاعات و دارم .. در کل مقاله عجیبی بود ..
احمدینا
روزی که زبان های برنامه نویسی تحت وب صدر نشین شوند زیاد دور نیست ، شما رو خواندن این کتاب دعوت می کنم :
http://www.apress.com/9781430244011
امین
تحریم.تحریم.تحریم
دریا
این مقاله کاملا غیرعلمی ست به نظرمن هم نویسنده هنوز نمیدونه جاوا چیه؟!!!!!!!!!!!!!!!!!!!!!