نویسنده
درباره نویسنده
بهنام خیرالهی
تعداد پست ها 64

درباره:

دانش آموخته مقطع کارشناسی دانشگاه Staffordshire University در رشته علوم کامپیوتر گرایش امنیت و مقطع کارشناسی دانشگاه Asia Pacific University در رشته فناوری اطلاعات هستم. از سال 1392 به ایران برگشتم و به صورت تخصصی در زمینه طراحی وب، گرافیک و فناوری اطلاعات فعالیت دارم.

  • قفل‌کردن و محافظت از شیت‌ها

زمانی‌که شیت‌های یک فایل را با دیگران به اشتراک می‌گذاریم، لازم است از تغییر سلول‌ها و همچنین از انتقال یا حذف داده‌های مهم در شیت‌ها جلوگیری کنیم. اکسل یک روش سریع و راحت برای قفل‌کردن شیت‌ها به منظور جلوگیری از تغییرات تصادفی یا عمدی در محتوا و ساختار آنها را فراهم می‌کند. می‌توانیم شیت‌ها را طوری تنظیم کنیم که هیچ یک از فرمول‌ها قابل ویرایش و یا حتی دیده شدن نباشند و تنها چند سلول خاص را برای ویرایش در دسترس قرار دهیم و دسترسی به بقیه سلول‌ها را محدود کنیم.

مفهوم محافظت از شیت‌ها

محافظت از شیت‌ها در اکسل یک ویژگی امنیتی نبوده و برای جلوگیری از دسترسی افراد به داده‌ها ساخته نشده است. زیرا اکسل از یک الگوریتم امنیتی ساده برای محافظت از شیت‌ها استفاده می‌کند. بنابراین وقتی یک شیت را قفل می‌کنیم در واقع می‌خواهیم از آن محافظت کنیم و شکستن کلمه عبور آن آسان است. در نسخه‌های قدیمی‌تر مهم نیست که کلمه عبور چقدر پیچیده باشد، زیرا هر کسی با داشتن یک دانش اولیه از VBA می‌تواند قفل ایجاد شده را کرک کند. در نسخه‌های جدید اکسل مثل 2013، 2016 و 2019 از الگوریتم‌های رمزگذاری پیچیده‌تری برای محافظت از شیت استفاده می‌شود. اما آنها همچنان آسیب‌پذیر بوده و می‌توانیم بدون دانستن کلمه عبور آنها را باز کنیم.

محافظت از شیت‌ها روشی برای جلوگیری از تغییرات تصادفی در محتوای آنها می‌باشد. مثلا می‌توانیم سلول‌هایی که دارای فرمول هستند را برای جلوگیری از حذف غیرعمدی یا ویرایش آنها قفل کنیم. بنابراین شیت‌های اکسل را قفل می‌کنیم تا از تغییرات تصادفی داده‌ها جلوگیری کنیم. اما نباید اطلاعات حساس را در شیت‌ها ذخیره کنیم.

اگر بخواهیم حداکثر امنیت را برای فایل‌های اکسل تضمین کنیم، رعایت نکات زیر الزامی می‌باشد.

  1. از نسخه‌های جدید اکسل مثل 2013، 2016 و 2019 که الگوریتم‌های رمزگذاری پیچیده‌تری دارند استفاده کنیم.
  2. از شیت‌ها با کلمه عبور قوی محافظت کنیم. مثلا در تعریف کلمه عبور از ترکیب اعداد، حروف و علائم خاص استفاده کنیم. همچنین هر چقدر طول کلمه عبور بزرگتر باشد احتمال حدس زدن آن کاهش پیدا می‌کند.
  3. از ساختار ورک‌بوک محافظت کنیم تا از اضافه کردن، جابه‌جا کردن، تغییر نام، حذف یا پنهان کردن شیت‌ها توسط دیگران جلوگیری شود.
  4. برای امنیت ورک‌بوک، آنها را با کلمه‌های عبور مختلف برای مشاهده (Password to open) و ویرایش (Password to modify) محافظت کنیم.
  5. فایل‌هایی را که دارای اطلاعات حساس هستند را در یک مکان امن مثل یک حافظه رمزگذاری شده ذخیره کنیم.

نحوه محافظت از شیت‌ها

فرض کنید می‌خواهیم در یک شیت از بعضی از ستون‌ها محافظت کنیم. ابتدا همه سطرها و ستون‌های شیت مورد نظر را انتخاب، به روی یکی از سلول‌ها کلیک راست کرده و گزینه Format Cells را انتخاب میکنیم. در برگه Protection مطمئن می‌شویم که گزینه Locked انتخاب نشده باشد، در غیر اینصورت آن را غیر فعال کرده و به روی دکمه Ok کلیک می‌کنیم.

تعیین سلول‌های قفل شده در Format Cells

ستون‌هایی را که می‌خواهیم از آنها محافظت کنیم، انتخاب کرده و مجددا مراحل قبل را تکرار می‌کنیم. با این تفاوت که این‌بار گزینه Locked را فعال کرده و به مسیر زیر می‌رویم.

  • Review
  • Protect
  • Protect Sheet

اگر بخواهیم فرمول نوشته شده در یک سلول به کاربر نشان داده نشود، باید علاوه بر گزینه Lock، گزینه Hidden را نیز انتخاب کنیم تا پس از قفل کردن سلول‌ها، فرمول‌ها پنهان شده و فقط نتیجه آن قابل مشاهده باشد.

سپس گام‌های زیر را انجام می‌دهیم:

  1. در قسمت Password to unprotect sheet کلمه عبور مورد نظر خود را وارد می‌کنیم.
  2. تعیین کلمه عبور اختیاری می باشد. پس اگر علت محافظت از شیت فقط جلوگیری از تغییرات تصادفی شیت است، نیازی به وارد کردن کلمه عبور نیست.
  3. مطمئن می‌شویم که گزینه Protect worksheet and contents of locked cells فعال باشد، در غیر اینصورت آن را فعال کنیم.
  4. در لیست Allow all users of this worksheet to کارهایی را که به کاربران اجازه انجام آن را می‌دهیم را انتخاب می‌کنیم.
  5. به طور پیش‌فرض، 2 گزینه انتخاب می‌شوند. انتخاب سلول‌های قفل و انتخاب سلول‌های باز. اگر فقط این دو گزینه را انتخاب کنیم، کاربران می‌توانند فقط سلول‌های شیت (سلول‌های قفل‌شده و قفل‌نشده) را انتخاب کنند.
  6. برای مرتب‌سازی، فیلتر کردن، قالب‌بندی سلول‌ها، حذف یا ایجاد سطر و ستون‌ها گزینه‌های مربوط به آنها را انتخاب می‌کنیم.
  7. اگر هیچ‌یک از گزینه‌های این لیست را انتخاب نکنیم، کاربران فقط می‌توانند محتوای شیت‌ها را ببینند.
  8. به روی دکمه Ok کلیک می‌کنیم.

تعیین کلمه عبور و عملیات مجاز در شیت

باز کردن شیت‌های قفل شده (Unprotect Sheet)

بازکردن شیت‌ها بودن با کلمه عبور

اگر کلمه عبور شیت قفل شده را بدانیم به راحتی می‌توانیم آن را باز کنیم. برای این‌کار شیت مورد نظر را انتخاب کرده و به مسیر زیر می‌رویم. همچنین می‌توانیم به روی نام شیت در پایین صفحه کلیک راست کرده و گزینه Unprotect Sheet را انتخاب کنیم. اگر شیت با کلمه عبور محافظت شده باشد، آن کلمه عبور از کاربر پرسیده می‌شود. کلمه عبور را وارد کرده و به روی دکمه Ok کلیک می‌کنیم.

  • Review
  • Protect
  • Unprotect Sheet

باز کردن شیت قفل شده از طریق Sheet Tab

باز کردن شیت قفل شده از طریق Sheet Tab

باز کردن شیت‌ها بدون کلمه عبور

محافظت از شیت‌های اکسل حتی در نسخه‌های جدید داری مکانیزم ضعیفی می‌باشد. اگر نمی‌توانیم کلمه عبور را به یاد بیاوریم، با استفاده از یکی از روش‌های زیر می‌توانیم شیت قفل شده را باز کنیم.

روش اول: برنامه‌نویسی VBA

اگر از اکسل 2010 یا نسخه‌های قدیمی‌تر استفاده می‌کنیم، می‌توانیم با برنامه‌نویسی VBA شیت قفل شده را باز کنیم. برای این‌کار شیت مورد نظر را انتخاب کرده و با استفاده از کلیدهای ترکیبی Ctrl+F11 وارد محیط برنامه‌نویسی VBA می‌شویم. در قسمت سمت چپ ورک‌بوک فعال را انتخاب کرده و به مسیر زیر می‌رویم.

  • Insert
  • Module

انتخاب ورک‌بوک فعال در Visual Basic for Application

انتخاب ورک‌بوک فعال در Visual Basic for Application

در پنجره باز شده ماکرو زیر را وارد کرده و کلید F5 را می‌زنیم. این ماکرو یک کلمه عبور کرک شده را گزارش می‌دهد که کلمه عبور اصلی نبوده و نیازی نیست که آن را به خاطر بسپاریم. با این روش قفل شیت محافظت شده شکسته می‌شود.

Sub PasswordCrack()
Dim i As Integer, j As Integer, k As Integer, l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66: For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66: For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
Activesheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If Activesheet.Protectcontents = False Then
Msgbox "Password: " & Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next: Next: Next: Next: Next: Next: Next
End Sub
  1. اگر ورک‌بوک دارای بیش از یک شیت محافظت شده باشد، باید ماکرو را برای هر شیت به صورت جداگانه اجرا کنیم.
  2. برای باز کردن شیت‌های محافظت شده در نسخه‌های 2013، 2016 و 2019 می‌توانیم فایل را با فرمت Excel 97−2003 Workbook ذخیره کرده و ماکرو را اجرا کنیم. سپس فایل را با فرمت xlsx ذخیره می‌کنیم.

روش دوم: انتقال محتوای شیت‌های محافظت شده به شیت‌های دیگر

یک روش دیگر برای باز کردن شیت‌های قفل شده، کوپی کردن کل محتوای آن به یک شیت جدید است. برای این‌کار شیت مورد نظر را انتخاب کرده و به کمک کلیدهای ترکیبی Ctrl+Shift+End تمام سلول‌های استفاده شده در شیت را انتخاب می‌کنیم. کلید‌های Ctrl+C را فشار می‌دهیم تا سلول‌های انتخاب شده کوپی شوند. در یک شیت جدید نشانه‌گر را به روی سلول A1 قرار داده و با استفاده از کلید‌های Ctrl+V محتوای شیت قفل شده را به شیت جدید انتقال می‌دهیم.

  1. برای استفاده از این روش باید همه سلول‌های قفل شده انتخاب شده و انتخاب سلول‌ها در شیت مورد نظر مجاز باشد.
  2. اگر شیت مورد نظر دارای پیوندهای خارجی به ورک‌بوک‌های دیگر باشد، باید این پیوندها را به صورت دستی ایجاد کنیم.
  3. همچنین با استفاده از ابزار Paste Special می‌توانیم محتوای شیت محافظت شده را به یک شیت جدید کوپی کنیم تا نیازی نباشد که پهنای ستون (Column Width) داده‌های انتقالی را به صورت دستی تنظیم کنیم.

همه این روش‌ها در نهایت قابل هک شدن هستند، اما اگر از 2 کلمه عبور متفاوت برای مشاهده (Password to open) و ویرایش (Password to modify) فایل‌ها استفاده کنیم و هر شیت با کلمه عبور جداگانه محافظت شده باشد، به مراتب هک کردن این‌گونه فایل‌ها مشکل‌تر خواهد بود.