ইভাল সংকলনের পরিপূরক যা কোড টেম্প্লেটিংয়ে ব্যবহৃত হয়। টেম্পলেট করে আমি বলতে চাইছি আপনি একটি সরলীকৃত টেম্পলেট জেনারেটর লিখুন যা দরকারী টেম্পলেট কোড তৈরি করে যা উন্নয়নের গতি বাড়িয়ে তোলে।
আমি একটি ফ্রেমওয়ার্ক লিখেছি, যেখানে বিকাশকারীরা ইভাল ব্যবহার করে না, তবে তারা আমাদের কাঠামো ব্যবহার করে এবং পরিবর্তে টেমপ্লেট উত্পন্ন করতে ফ্রেমওয়ার্কটি ইভিএল ব্যবহার করতে হয়।
নীচের পদ্ধতিটি ব্যবহার করে EVAL এর কার্যকারিতা বাড়ানো যেতে পারে; স্ক্রিপ্টটি কার্যকর করার পরিবর্তে আপনাকে অবশ্যই একটি ফাংশন ফিরিয়ে দিতে হবে।
var a = eval("3 + 5");
এটি হিসাবে সংগঠিত করা উচিত
var f = eval("(function(a,b) { return a + b; })");
var a = f(3,5);
ক্যাচিং এফ অবশ্যই স্পিডের উন্নতি করবে।
এছাড়াও ক্রোম খুব সহজেই এই জাতীয় ফাংশনগুলি ডিবাগ করার অনুমতি দেয়।
সুরক্ষা সম্পর্কিত, ইওল ব্যবহার করা বা না করা খুব কমই কোনও পার্থক্য তৈরি করবে,
- প্রথমত, ব্রাউজারটি একটি স্যান্ডবক্সে পুরো স্ক্রিপ্টটি আহ্বান করে।
- যে কোনও কোড যা এভাল-এ খারাপ, তা ব্রাউজারেই খারাপ। হামলাকারী বা যে কেউ সহজেই ডিওমে একটি স্ক্রিপ্ট নোড ইনজেক্ট করতে পারে এবং সে / যদি সে কিছু আবিষ্কার করতে পারে তবে কিছু করতে পারে। ইভাল ব্যবহার না করা কোনও পার্থক্য তৈরি করবে না।
- এটি বেশিরভাগ দুর্বল সার্ভার-সাইড সুরক্ষা যা ক্ষতিকারক। দুর্বল কুকিজের বৈধতা বা সার্ভারে দুর্বল এসিএল প্রয়োগ বেশিরভাগ আক্রমণের কারণ।
- জাভার স্থানীয় কোডে একটি সাম্প্রতিক জাভা দুর্বলতা ইত্যাদি ছিল। জাভাস্ক্রিপ্টটি স্যান্ডবক্সে চালানোর জন্য তৈরি করা হয়েছিল এবং এটি অ্যাপলেটগুলি স্যান্ডবক্সের বাইরে শংসাপত্র ইত্যাদির বাইরে চালানোর জন্য ডিজাইন করা হয়েছিল যা দুর্বলতা এবং অন্যান্য অনেক কিছুর দিকে পরিচালিত করে।
- ব্রাউজারের অনুকরণের জন্য কোড লেখা কঠিন নয়। আপনাকে যা করতে হবে তা হ'ল আপনার পছন্দসই ব্যবহারকারীর এজেন্ট স্ট্রিং সহ সার্ভারে একটি HTTP অনুরোধ করা। সমস্ত পরীক্ষার সরঞ্জামগুলি ব্রক ব্রাউজারগুলিকে যাই হোক না কেন; যদি কোনও আক্রমণকারী আপনাকে ক্ষতি করতে চায় তবে EVAL হ'ল তাদের শেষ অবলম্বন। আপনার সার্ভার-সাইড সুরক্ষা মোকাবেলায় তাদের আরও অনেক উপায় রয়েছে।
- ব্রাউজার ডিওএম-তে ফাইলের অ্যাক্সেস নেই এবং ব্যবহারকারীর নাম নেই। প্রকৃতপক্ষে মেশিনে এমন কোনও কিছুই অ্যাক্সেস দিতে পারে না।
যদি আপনার সার্ভার-সাইড সুরক্ষা যেকোন স্থান থেকে যে কেউ আক্রমণ করার পক্ষে যথেষ্ট দৃ ,় হয় তবে আপনাকে ইভাল সম্পর্কে চিন্তা করা উচিত নয়। যেমনটি আমি উল্লেখ করেছি, যদি EVAL এর অস্তিত্ব না থাকে তবে আক্রমণকারীদের আপনার ব্রাউজারের EVAL ক্ষমতা নির্বিশেষে আপনার সার্ভারে হ্যাক করার জন্য অনেকগুলি সরঞ্জাম রয়েছে।
অগ্রিম ব্যবহৃত হয়নি এমন কোনও ভিত্তিতে জটিল স্ট্রিং প্রসেসিং করতে কিছু টেম্পলেট তৈরি করার জন্য ইভাল কেবল ভাল। উদাহরণস্বরূপ, আমি পছন্দ করব
"FirstName + ' ' + LastName"
উল্টোদিকে
"LastName + ' ' + FirstName"
আমার প্রদর্শনের নাম হিসাবে, যা কোনও ডাটাবেস থেকে আসতে পারে এবং যা হার্ডকড হয় না।