Showing posts with label PHP. Show all posts
Showing posts with label PHP. Show all posts

Thursday, October 27, 2011

A simple PHP Program - Get browser name and version

If you would like to get the browser name and version along with its running platform a simple PHP program would look like the below one:


function getBrowser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version= "";

//First get the platform
if (preg_match('/linux/i', $u_agent)) {
$platform = 'Linux';
}
elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
$platform = 'Mac';
}
elseif (preg_match('/windows|win32/i', $u_agent)) {
$platform = 'Windows';
}

// Next get the name of the useragent yes seperately and for good reason
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
{
$bname = 'Internet Explorer';
$ub = "MSIE";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$bname = 'Mozilla Firefox';
$ub = "Firefox";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
$bname = 'Google Chrome';
$ub = "Chrome";
}
elseif(preg_match('/Safari/i',$u_agent))
{
$bname = 'Apple Safari';
$ub = "Safari";
}
elseif(preg_match('/Opera/i',$u_agent))
{
$bname = 'Opera';
$ub = "Opera";
}
elseif(preg_match('/Netscape/i',$u_agent))
{
$bname = 'Netscape';
$ub = "Netscape";
}

// finally get the correct version number
$known = array('Version', $ub, 'other');
$pattern = '#(?' . join('|', $known) .
')[/ ]+(?[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern, $u_agent, $matches)) {
// no matching number just continue
}

// see how many we have
$i = count($matches['browser']);
if ($i != 1) {
//we will have two since we are not using 'other' argument yet
//see if version is before or after the name
if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
$version= $matches['version'][0];
}
else {
$version= $matches['version'][1];
}
}
else {
$version= $matches['version'][0];
}

// check if we have a number
if ($version==null || $version=="") {$version="?";}

return array(
'userAgent' => $u_agent,
'name' => $bname,
'version' => $version,
'platform' => $platform,
'pattern' => $pattern
);
}

// now call the function and try it
$ua=getBrowser();
$yourbrowser= "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform']; /*. " reports:
" . $ua['userAgent'];*/
print_r($yourbrowser);
?>


All you have to do as:

  1. Create a PHP file with any of your text editor with the extension .php
  2. Preview this page in your web browser and it will show you the web browser name version and its platform.


This program can be further modified and developed. Any suggestions and recommendations are welcome.


Thanks for visiting my blog.

Wednesday, October 26, 2011

লোকাল পিসিতে MySql সিকিউরিটি সেটিংস

যারা ওয়েব ডিজাইন/ডেভেলপমেন্ট করেন তাদের বেশির ভাগই PHP, MySQL, এবং Apache ওয়েব সার্ভার নিয়ে কাজ করেন। লোকাল পিসিতে WAMP সার্ভার ইনস্টল করার সময় By Default MySql ডেটাবেজের ইউজার নেম থাকে root এবং এর পাসওয়ার্ড থাকে না। ইনস্টল করার পরপরই এটি পরিবর্তন করে নেয়াটা উচিত। না করাটা আপনার MySql ডেটাবেজের/PHPMyAdimin পেজের নিরাপত্তার জন্য হুমকি স্বরুপ। যে কেউ আপনার পিসির ব্রাউজারে http://localhost/phpmyadmin এড্রেস লিখলে তা নিচের চিত্রের মতো PHPMyAdmin পেজ প্রদর্শন করবে। তাই এই ডিফল্ট পাসওয়ার্ড পরিবর্তন করাটা খুবই জরুরী এবং তাই রেকমেন্ড করা থাকে। প্রথমবারের মতো WAMP সার্ভার ইনস্টল করার পর PHPMyAdmin পেজের নিচের দিকে একটি নোটিফিকেশন দেখা যায় যাতে root পাসওয়ার্ড পরিবর্তন করতে বলা হয়। আজ আমরা MySQL এর root পাসওয়ার্ড পরিবর্তন এবং সেই সাথে PHPMyAdmin এর কিছু কনফিগারেশন সেটিংস শিখব। যা পাসওয়ার্ড পরিবর্তনের পর আমাদের PHPMyAdmin পেজ খুলতে কাজে লাগবে।

PHPMyAdmin পাসওয়ার্ড পরিবর্তনের নোটিফিকেশন

ধরে নিচ্ছি আপনার পিসিতে WAMP সার্ভার ঠিকঠাক মতো ইনস্টল করা আছে যার ডিফল্ট ইউজার নেম root এবং পাসওয়ার্ড নেই অর্থাৎ Empty পাসওয়ার্ড। আমাদের কে এই root পাসওয়ার্ড পরিবর্তন করতে হবে এবং পরিবর্তনের পর PHPMyAdmin পেজ খুলার জন্য প্রয়োজনীয় সেটিংস কনফিগার করতে হবে।


PHPMyadmin পেজ

PHPMyadmin পেজ থেকে Privileges এ ক্লিক করুন। নিচের মতো একটি পেজ খুলবে।


এখান থেকে User Overview টেবিলের সবচেয়ে নীচের সারিতে থাকা root ইউজার এর সর্ব ডান পাশের আইকনে ক্লিক করুন। নিচের চিত্রের মতো

যে পেজ আসবে তাতে স্ক্রল করে নিচের চিত্রের মত অংশে যান।


এখানে আপনি চাইলে পাসওয়ার্ড টেক্সট বক্সে যে কোন পাসওয়ার্ড টাইপ করে দিতে পারেন অথবা Generate বাটনে ক্লিক করলে MySQL আপনার জন্য একটি পাসওয়ার্ড দেখাবে। আপনি চাইলে পাসওয়ার্ড হ্যাসিং অপশন ব্যবহার করতে পারেন।

ডান পাশের Go বাটনে ক্লিক করুন। ব্যাস হয়ে গেল আপনার MySQL ডাটাবেজের ডিফল্ট পাসওয়ার্ড পরিবর্তন। এই অবস্থায় আপনি আপনার ব্রাউজার এর এড্রেসবারে http://localhost /phpmyadmin লিখলে তা নিচের মতো Error মেসেজ দেখাবে ।


এর কারণ হলো আপনি এই মাত্র MySQL ডাটাবেজের যে পাসওয়ার্ড টি সেট করেছেন তা আমরা এখনও PHPMyAdmin পেজের Password ভ্যারিয়্যাবলের মান হিসাবে সেট করিনি। তাই MySQL পাসওয়ার্ড না মেলার কারণে (Mismatch) হওয়ার ফলে এই Error মেসেজ দেখাচ্ছে। এবার আমরা এই কনফিগারেশন টুকু করবো।

এই কনফিগারেশন করার জন্য আপনার পিসির “C:\wamp\apps\phpmyadmin3.3.9” (আপনি যে ফোল্ডারে WAMP সার্ভার ইন্সটল করেছেন সে অনুযায়ী config.inc.php ফাইলটি পরিবর্তন করতে হবে। যে কোন টেক্সট এডিটরে এই ফাইলটি খুলুন। লক্ষ্য করুন এর ১৬ নং লাইনে

$cfg['Servers'][$i]['password'] = ''; লিখা রয়েছে। এই লাইনটাকে আমরা পরিবর্তন করব। এই লাইটাকে নিচের মত পরিবর্তন করুন।

$cfg['Servers'][$i]['password'] = '123456'; লক্ষ্য করুন এখানে আমি ধরে নিচ্ছে যে আপনার সেট করা root ইউজার এর পাসওয়ার্ড ‘123456’

প্রয়োজনীয় পরিবর্তন করার পর ফাইলটি সেভ করুন। এবার আপনি আপনার পিসির ব্রাউজারে http://localhost /phpmyadmin লিখলে আপনি PHPMyAdmin পেজ দেখতে পাবেন। অর্থাৎ আপনার সেট করা পাসওয়ার্ড অথেনটিকেশন করার পরই আপনি PHPMyAdmin পেজ দেখতে পাচ্ছেন। আপনি config.inc.php ফাইল থেকে পাসওয়ার্ডটা মুছে দিলে PHPMyAdmin পেজ কেউ খুলতে পারবেনা যতক্ষন না পাসওয়ার্ড দেয়া হচ্ছে।

পুরো ব্যাপারটা কে আপনি এভাবে চিন্তা করতে পারেনঃ

  1. MySQL ডাটাবেজের root ইউজার এ একটি পাসওয়ার্ড দিতে হবে।
  2. এই পাসওয়ার্ডটি config.inc.php ফাইলে $cfg['Servers'][$i]['password'] = ''; লাইনে দুটি সিঙ্গলে কোটেশনের ভিতরে দিতে হবে।
  3. ফাইলটি সেভ করতে হবে ।

এই সংক্রান্ত যে কোন সমস্যায় যোগাযোগ করতে পারেন আমার সাথে।

এই ব্লগ পড়ার জন্য আপনাকে ধন্যবাদ। এই ব্লগে আপনাকে নিয়মিত ভিজিট করার জন্য আমন্ত্রণ জানাচ্ছি ।