لدي هذا الكود
اريد فقط ان يتحقق ايضا شرط ثاني هو البحث وتحقق ايضا من ip في نفس فوكشن array_search
يعني يجب ان يتحقق شرط الاول وثاني بعدها يطبع allowed
<?php
$parent_domain = $_SERVER['HTTP_REFERER'];
$domains = array(
'domain1.com',
'domain2.com',
'domain3.com',
);
$ipaddress = getenv("REMOTE_ADDR");
$ip = array(
'78.58.25.4',
'75.85.76.33',
'57.7.47.58',
);
if( array_search($parent_domain,$domains) ){
echo "allowed";
}
?>
جرب هذا :
<?php
if ( isset($_SERVER['HTTP_REFERER']) ) {
$referer = explode('.', parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST));
$parent_domain = $referer[count($referer)-2].'.'.$referer[count($referer)-1];
$domains = array(
'domain1.com',
'domain2.com',
'domain3.com',
);
$ipaddress = getenv("REMOTE_ADDR");
$ip = array(
'78.58.25.4',
'75.85.76.33',
'57.7.47.58',
);
if( in_array($parent_domain, $domains) && in_array($ipaddress, $ip) ) {
echo "allowed";
}
}
?>
- الـ HTTP_REFERER يعطي رابط الموقع بالكامل وليس الدومين فقط (مثل: https://www.google.com ) لذلك عدلت الكود لكي يُرجع الدومين.
- قمت أيضا بتغيير الدالة array_search إلى الدالة in_array
التعليقات