بۆ ئەوەی ئەو کارە جێبەجێ بکەیت دەبێت ip هەموو ئەو کەسانە وەربگریت، پاشان لیستێک array دروست دەکەیت و ipیەکانی تێدەکەیت، و دواتر بە مەرجێک دەیپشکنی، گەر ipی بەکارهێنەر، لە ناو لیستەکەدا هەبوو، ئەوا بچێتە ژوورەوە.
جا گەر بە php شتێکی وات دەوێت ئەوا ئەم کۆدە کارەکەت جێبەجێ دەکات، بەڵام وا باشترێکە (گەر لەگەڵ کارەکەت دەگونجێت) لەگەڵ ipیەکە ناو و وشەی نهێنیش دابنێت، ئەو کاتە چوونەژوورەوەکە Safeـە! واتە کەسەکە ناوی خۆی ئەزانێت + وشەی نهێنی! + ipیەکەشی ئەوەیە کە تۆ مەبەستتە، گەر هارکامێک لەو سیانە هەڵەبوو ئەوا ناچێتە ژوورەوە!
بۆچی ئەم ڕێگایە؟
- چونکە ip پەیوەستە بە ip ڕاوتەرەکەوە، واتە بە مۆبایل، کۆمپیوتەر، هەر ئامێرێکی تر داغڵی ئەو وێبسایتە ببیت، ئەوا هەر دەچێتە ژوورەوە، واتە: جگە لە بەکارهێنەری سەرەکی، هەر کەسێکی تر دەتوانێت داغڵ ببێت، بۆ ئەم مەبەستە تۆ ناو و وشەی نهێنی زیاد ئەکەیت.
- لەهەمان کات ئامانجەکەی تۆش دەپێکێت، کە دەبێت هەر لەو ipیەوە داغڵ ببێت، واتە ئەو ڕاوتەرە! سەرەڕای ئەوەی ناو وشەی نهێنیش بزانێت ناتوانێت لە ماڵەوە، هەر شوێنێکی تر داغڵی ببێت.
ئەمە ئەو کۆدەی کە هەر سێ جۆر داتاکە پێویستە:
<?php
//داتای بەکارهێنەر لە بنکەیدراوە
$db_username = 'user';
$db_password = '123456';
$db_ipaddress = '127.0.0.1';
//ئەو داتایای بەکارهێنەر داغڵی دەکات کاتی چوونەژوورەوە
$username = $_POST['username'];
$password = $_POST['password'];
$ipaddress = $_SERVER['REMOTE_ADDR'];
if( isset($_POST['submit']) ) {
if( !empty($username) && !empty($password) ) {
if( $username == $db_username ) {
if( $password == $db_password ) {
if( $ipaddress == $db_ipaddress ) {
//Login
}else{
echo "Your IP address is not allowed!";
}
}else{
echo "Password is incorrect!";
}
}else{
echo "Usename is incorrect!";
}
}else{
echo "Both fields are required!";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login with username, password, ip - Webchin.org</title>
</head>
<body>
<form method="post">
<input type="text" name="username" placeholder="Username">
<input type="text" name="password" placeholder="Password">
<button type="submit" name="submit">Login</button>
</form>
</body>
</html>
ئەمەش ئەو کۆدەی کە پێویست بە username, password ناکات
<?php
//لیستی ئەو ipیانەی ڕێگەپێدراون
$ip_list = [
'127.0.0.1',
'::1'
];
$ipaddress = $_SERVER['REMOTE_ADDR'];
$ip_is_included = ( isset($ipaddress) && in_array($ipaddress, $ip_list) ) ? true : false;
//گەر ipیەکە لەناو لیستەکەدا هەبوو ئەوا پەڕەکە پیشان بدات، گەرنا ئەوا redirectی بکات بۆ index.php
if( !$ip_is_included ) {
header("Location: index.php");
}
//لێرەوە پەڕەکە پیشان بدات
?>
ئاسۆ نادری، ڕۆحت هەر لەگەڵمانە.