ওয়েব সিকিউরিটি: PHP Error Message analysis
অনেক রকমেরই ইরর ম্যাসেজ স্ক্রিপ্টে দেখা যায়, এর কিছু হয় পিএইচপি থেকে জেনারেটড হওয়া কিছু হয় ডেটাবেজ থেকে । অাজকে মূলত কিছু কমন ইরর এবং এদের সমাধান দেখবো । সেই সাথে ইরর কেনো হয় তাও জানবো । প্রথমে ইরর ডিসপ্লে অন করুন, অাগের পোস্টে দিয়েছি এটা কিভাবে করতে হবে ।
পিএইচপি ইররগুলো
ধরন: Parse Error বা syntex ইরর
কারন: এটা নানা কারনে হতে পারে, যেমন:
১. যদি ব্রাকেট ক্লোজ ঠিকমত না করা হয় ।
২. যদি সেমিকোলোন শেষে না দেওয়া হয় ।
৩. যদি parentheses মিসিং থাকে ।
ছবি:
ক্ষতিকারিতা: এটি ক্ষতি কারক কারন এটার ফলে ফাইল লোকেশান দেখা যায় যা থেকে অাইডিয়া পাওয়া যায় সাইট/সার্ভার এর স্ট্রাকচার সম্পর্কে । এছাড়াও এটি স্ক্রিপ্ট লোডিং বন্ধ করে দেয় ।
প্রতিকার: ইরর ম্যাসেজে কারন দেওয়া থাকে এবং কোন লাইনে সমস্যা তা দেওয়া থাকে জাস্ট কোড ইডিটর ( যেকোনো পিএইচপি ইডিটর ) দিয়ে ঐ লাইনে গিয়ে syntex চেক করুন ।
example:
<?php
echo "greenweb"
?>
উপরের কোড রান করলে ইরর পাবেন । এই ইরর আসলে কোড রান হবে না, যদিও এটি সিকিউরিটির জন্য বিশেষ ক্ষেত্র ছাড়া ক্ষতিকারক নয়, তবে এটি লোডিং টাইম বাড়িয়ে দেয় ।
ধরন: Fatal Errors
কারন: যখন পিএইচপি বুঝতে পারবে অাপনি কি চান কিন্তু তা সম্ভব নয় তখন fatal ইরর দেখাবে ।
উদাহরন:
<?php fnSwap(); echo "all run successfully!"
?>
উপরের কোড রান করলে
all run successfully!
লেখাটি দেখতে পাবার কথা কিন্তু দেখাবে না কারন এখানে ফাংশন fnSwap() দ্বারা কি বুঝানো হচ্ছে তা ডিফাইন করা হয়নি । তাই পিএইচপি অার রান হবে না এখানেই থেমে যাবে ।
প্রতিকার: কোডিং চেক করা, কারন না জানলে এর প্রতিকার করা সম্ভব না ।
ক্ষতিকারীতা: এটি স্ক্রিপ্ট রান হওয়া বন্ধ করে দেয় তবে সিকিউরিটিতে তেমন ব্যাঘাত ঘটায় না ।
ধরন: Warning Errors
কারন: এটি মূলত কোনো ফাইল মিসিং থাকলে কিংবা ডিফাইন করা লোকেশানে ফাইলটি না থাকে তবে এছাড়াও ফাংশন প্যারামিটার ভুল দিলে এটা দেখাবে ।
ছবি:
উদাহরন:
<?php
include ("Welcome.php");
?>
যদি এই ফাইলটি এই লোকেশানে না থাকে, তবে warning error দেখাবে , ছবিতে দেখুন ।
<?php $count = 0; $total = 200; $result = $total/$count; echo "RESULT: ". $result; ?>
এখানে total 200 কে ০ দ্বারা ভাগ করলে infinity হবে তাই warning দেখাবে ।
ক্ষতিকারতা: তেমন ক্ষতিকর না, এটি স্ক্রিপ্ট রান করতে বাঁধা দেয় না । মানে স্ক্রিপ্ট ঠিকই এক্সিকিউট হবে ।
সমাধান: চেক করুন include or require_once এ সঠিকভাবে ফাইল location দেওয়া অাছে কিনা ।
ধরন: Notice Errors
ছবি:
কারন: যখন কোনো ভ্যারিয়েবল ডিফাইন করা হয়নি কিন্তু কল করা হলে, যেমন:
<?php
echo "Notice Error !!";
echo $b;
?>
ক্ষতিকারীতা: এটি warning এর মতো স্ক্রিপ্ট এক্সিকিউশানে কোনো সমস্যা করে না ।
মূলত এই চার রকম ইরর ই পিএইচপিতে দেখা যায় ।
পিএইচপির ইররগুলো বিশেষ ক্ষেত্র ছাড়া সাইটের সিকিউরিটিতে প্রভাব ফেলে না, তাই এই টাইপ ইরর পেলে তেমন চিন্তা করার প্রয়োজন নেই সিকিউরিটি নিয়ে যদিনা সেন্সিটিভ কোনো কিছু ডিসপ্লে হয়। তবে এদের ক্ষতিকর জিনিসগুলো হলো:
১. লোডিং টাইম বাড়িয়ে দেওয়া
২. এক্সিকিউশান পরিপূর্ন হতে না দেওয়া । এ কারনে পেজের অর্ধেক লোড নিয়ে বন্ধ হয়ে যেতে পারে লোডিং কিংবা কোনো কিছু লোড না ও নিতে পারে ।
ডেটাবেজ ইরর:
সিকিউরিটি সমস্যার নাটের গুরুই হলো ডেটাবেজ ইরর ।
অামরা আগামি পর্বে ডেটাবেজ ইরর গুলো দেখবো । অাজকে এই পর্যন্তই, দেখা যাক অাপনারা কেমন সারা দেন ।
ধন্যবাদ
মো: জোবায়ের অালম
ফাউন্ডার, গ্রিনওয়েব বাংলাদেশ লিমিটেড ।
Shakib Hassan (2017-06-21 12:36:51)
Nice Post and Waiting for Your Next Post. *****Thanks for Shearing*****
shahrea hossain (2017-06-22 16:32:21)
khub valo hoice vi.next post er asay roilam.always apnar and greenweb er sathei aci.
Leave A Feedback