. // // Alexey A.Znayev, znaeff@mail.ru, http://xbsoft.org, http://xbsoft.ru // /////////////////////////////////////////////////////////////////////////// // This file contains public class DNSBL // This class performs IP address check in spam blocking lists as described // on http://ru.wikipedia.org/wiki/RBL class DNSBL { private $_aCheckers = array( // list of checkers available for individual checking 'spamhaus' => array('.zen.spamhaus.org', true), //available for group checking with 'all' key 'spamcop' => array('.bl.spamcop.net', true), //available for group checking with 'all' key 'dsbl' => array('.list.dsbl.org', false), //not available for group checking with 'all' key 'ordb' => array('.relays.ordb.org', false), //not available for group checking with 'all' key 'sorbs' => array('.dnsbl.sorbs.net', false), //not available for group checking with 'all' key 'njabl' => array('.dnsbl.njabl.org', false) //not available for group checking with 'all' key ); // AZ - 1. Key 'all' is illegal // AZ - 2. Most of spammer IP addresses is covered by 'spamhaus' & 'spamcop' (and they are fast), // some of the rest may not work sometimes, you can make them group checking available after individual testing private $_sDefaultChecker = 'spamhaus'; /////////////////////////////////////////////////////////////////////////// // CheckSpamIP - check IP for spam in checkers : given, default or all available for group checking (may be slow) // parameters: // string $ip - ip address // string $checker - checker name or 'all' or nothing // returns: // true when IP exitsts in spam-lists of $checker or at least one of all checkers // false when not or when ip address is local or not correct public function CheckSpamIP($ip, $checker = ''){ if(empty($ip)) return false; if(preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $ip) != 1) return false; $octets = explode('.', $ip); if($octets[0] == '127') return false; if($octets[0] == '10') return false; if($octets[0] == '192' && $octets[0] == '168') return false; if($octets[0] == '169' && $octets[0] == '254') return false; // ms windows if((int)$octets[0] > 255 || (int)$octets[1] > 255 || (int)$octets[2] > 255 || (int)$octets[3] > 255 ) return false; $ret_val = false; $PTR = implode(array_reverse($octets), '.'); if($checker === 'all'){ foreach(array_values($this->_aCheckers) as $c){ if($c[1]){ $ret_val = $ret_val || $this->_CheckDNSAnswer(dns_get_record($PTR . $c[0], DNS_A)); } if($ret_val) break; } }else if(array_key_exists($checker, $this->_aCheckers)){ $ret_val = $this->_CheckDNSAnswer(dns_get_record($PTR . $this->_aCheckers[$checker][0], DNS_A)); }else{ $ret_val = $this->_CheckDNSAnswer(dns_get_record($PTR . $this->_aCheckers[$this->_sDefaultChecker][0], DNS_A)); } return $ret_val; } /////////////////////////////////////////////////////////////////////////// // GetCheckers - gets list of available checker names // returns: // array of strings public function GetCheckers(){ return array_keys($this->_aCheckers); } /////////////////////////////////////////////////////////////////////////// // GetGroupCheckers - gets list of checker names available for group checking with 'all' key // returns: // array of strings public function GetGroupCheckers(){ $ret_val = array(); foreach(array_keys($this->_aCheckers) as $k) if($this->_aCheckers[$k][1]) array_push($ret_val, $k); return $ret_val; } /////////////////////////////////////////////////////////////////////////// // GetDefaultChecker - gets default checker name // returns: // string public function GetDefaultChecker(){ return $this->_sDefaultChecker; } /////////////////////////////////////////////////////////////////////////// // SetDefaultChecker - sets default checker name // parameters: // string $new_checker - new default checker name // returns: // true when success // false when failed ($new_checker is not in the list of available checker names) public function SetDefaultChecker($new_checker){ if(array_key_exists($new_checker, $this->_aCheckers)){ $this->_sDefaultChecker = $new_checker; return true; }else{ return false; } } /////////////////////////////////////////////////////////////////////////// // EnableGroupChecking - sets checker available for group checking // parameters: // string $checker - checker name // returns: // true when success ($checker is included) // false when failed ($checker is not in the list of available checker names) public function EnableGroupChecking($checker){ if(array_key_exists($checker, $this->_aCheckers)){ $this->_aCheckers[$checker][1] = true; return true; }else{ return false; } } /////////////////////////////////////////////////////////////////////////// // DisableGroupChecking - sets checker not available for group checking // parameters: // string $checker - checker name // returns: // true when success ($checker is excluded) // false when failed ($checker is not in the list of available checker names) public function DisableGroupChecking($checker){ if(array_key_exists($checker, $this->_aCheckers)){ $this->_aCheckers[$checker][1] = false; return true; }else{ return false; } } // private methods /////////////////////////////////////////////////////////////////////////// // _CheckDNSAnswer - checks DNS-server answer for 127.0.0.* values // returns: // true when success // false when failed private function _CheckDNSAnswer($dns_answer){ if(!is_array($dns_answer)) return false; $len = count($dns_answer); if($len <= 0) return false; for($i=0; $i<$len; $i++){ $obj = $dns_answer[$i]; if(!(is_object($obj) || is_array($obj))) return false; $ip_str = $obj['ip']; if(!is_string($ip_str)) return false; $pos = strpos($ip_str, '127.0.0.'); if($pos !== false) return true; } return false; } } // end of class DNSBL ?> آسٹریلیا کا قومی دن اور ھزارہ گی ثقافت - ھزارہ بین الاقوامی نیٹ ورک

آسٹریلیا کا قومی دن اور ھزارہ گی ثقافت

[follow_me] تحریر- لیاقت علی

میں اپنی بیٹی کے ساتھ آسٹریلیا ڈے میں شرکت کے لئے ٹرین کے زریعہ سٹی روانہ ہوئے خوش قسمتی سے اپنےدیرینہ دوست صادق افشار اور انکی فیملی سے ٹرین میں ملاقات ہوئی وہ بهی اپنی  فیملی کے ساتھ وہی جارہے تهے

ملبرین سٹی پہنچنے پر دیکها کہ ہزاروں لوگ آسٹریلیا ڈے منانے پنچ چکے تهے سڑک کے دونوں جانب ایک جم غفیر تها۔مختلف کمیونٹیز اپنی کمیونٹی اور اپنی ثقافت کے رنگوں کے ساتھ نمایاں تهے ہزارہ کمیونٹی بهی ان میں سے ایک تهے

1781865_10202333262091164_8277020235056377301_n

کمیونٹی کی نمائندگی میچد گروپ آف آرٹس کے روحِ رواں، گرین پارٹی کےسرگرم سیاسی  ورکراور آسڑیلین اصائلم سیکرز کے لئے جد وجہد کرنے والے انسان دوست جوان جان گلزاری کر رہے تهے. مارچ کے دوران سڑکوں کے دونوں جانب کھڑے ہزاروں لوگوں نے ہزارہ گی ثقافت کو خوب سراہا اور اس سے لطف اندوز ہوئے اور خوشی کا اظہار کرتے ہوئے پرجوش اندازمیں استقبال کر کے تالیاں بجا رہے تھے.

خواتین اور بچوں نے مخصوص ہزارہ گی لباس ،مردوں نے لنگی اور چیپن . سید زمان .سروری . عنایت ناصری. مهران .علیزادہ .حبیب.امر گلزاری .ضامن .اور شاولی دمبورہ پر ہزارگی زبان میں ملی نغمے گا رہے تھے

سٹیج پرآسٹریلیئن پارلیمنٹ کے اراکین ودیگر اعلیٰ حکام ، بری ، بحری اور فضائیہ افواج کے سربراہان ، پولیس کمشنر و دیگر تشریف فرما تھے .

اس پیریڈ میں شرکت کرنے کا مقصد یہ تھا کہ پاکستان افغانستان، ایران، آسٹریلیا ، یورپ اور دنیا بھر میں مقیم اپنی قوم کو یہ پیغام پہنچاے کہ هم جہاں بهی ہوں اپنی ثقافت اور زبان کو زندہ رکھنے، اسکی ترویج  اوردینا میں اسے روشناس کرانے کی اپنی کوششیں جاری رکھیںگے۔

مختلف کمیونٹیز کے ساتھ کے احمدی فرقے کے ایک بڑی تعداد میں لوگوں نے بهی اپنے نوجوان پیش امام کے ساتھ شرکت کیں . جہاں لوگ اپنی ثقافت کو اجاگر کر رہے تھے وہاں احمدی فرقے کے مسلمان سرور کائنات محمد مصطفی پر درود بھیج رہے تھے اور خواتین اپنے مخصوص لباس میں ملبوس تھے سر پر اسکارف اور ہاتھوں میں دستانہ پہنے ہوئے تھے. اور انکا نعرہ تها "هم امن سے محبت اور انسانوں کے عقائد کا احترام کرتے ہیں”.

احمدی فرقہ بھی شعیہ اور خاص طورپر شعیہ ھزارہ فرقے کی طرح  عدم رواداری ، امتیازی سلوک اور ٹارگیٹ کلنگ  کی وجہ سے پاکستان سے ہجرت کرکے یہاں آباد ھونے پر مجبور ہوئے ہیں ۔ یہ تقریب ھر لحاظ سے آسٹریلیا میں آباد ھر رنگ نسل،زبان،عقیدے اورخطے کے لوگوں کی رنگارنگ ثقافتوں پر مشتملِ ایک خوبصورت گلدستہ تھا۔ 

 


Join the Conversation