محدودیت ip صفحه ادمین با PHP
محدودیت ip ادمین با PHP – با کمک پی اچ پی و MYSQL پروژه ای را خواهیم ساخت که برای ورود به پنل ادمین نیازمند یک آی پی اختصاصی باشد که لیست این آی پی ها در جدول ip_admin ذخیره می شود .
در صورتی که ip کاربر در لیست نبود اجازه ورود به صفحه ادمین را نخواهد داشت و هدر 403 دریافت خواهد کرد به همراه پیغام دسترسی به صفحه ادمین با آی پی محدود شده است .
دموی برنامه
اسکریپت admin.php
<?php require_once 'db.php'; $user_ip = $_SERVER['REMOTE_ADDR']; $rows = getData("SELECT * FROM `ip_admin` WHERE ip=?", [$user_ip]); $rows = end($rows); if(empty($rows)){ header('HTTP/1.0 403 Forbidden'); die("دسترسی به صفحه ادمین با آی پی محدود شده است"); } ?> <!DOCTYPE html> <html lang="fa"> <head> <meta charset="UTF-8"> <title>Rapidcode.iR - صفحه ادمین</title> <link rel="stylesheet" href="static/css/main.css"> </head> <body> <div class="container"> <a id="introduce" href="https://rapidcode.ir" target="_blank">رپید کد • کتابخانه مجازی برنامه نویسان</a> <h1>صفحه ادمین</h1> </div> </body> </html>
اسکریپت db.php جهت بررسی آی پی کاربر
<?php $mysqli = new mysqli("localhost", "root", "", "cms"); if ($mysqli->connect_error) { die("MYSQL ISSUE : " . $mysqli->connect_error); } $mysqli->set_charset("utf8"); $stmt = $mysqli->stmt_init(); function getData($uquery, $data){ global $stmt; $query = $uquery; $rows = []; $stmt->prepare($query); $stmt->bind_param(str_repeat("s", sizeof($data)), ...$data); if ($stmt->execute() && $res = $stmt->get_result()) { if ($stmt->affected_rows || $res->num_rows) { while ($row = $res->fetch_assoc()) { $rows[] = $row; } } } return $rows; } ?>
ارسال نظر