$REMOTE_ADDR ger dig ipnummret.
if (!$REMOTE_ADDR=="194.218.25.37") {
echo "du får inte komma in";
} else {
echo "Step right in";
}
9 svar · 228 visningar · startad av eMan
Hej!
Hur gör man för att godkänna besökare som har ett visst ip-nummer och stänga ut samtliga andra från att se en viss sida?
Går det att skapa samma lösning fast för en hel serie ip-nummer (alltså i följd)
$REMOTE_ADDR ger dig ipnummret.
if (!$REMOTE_ADDR=="194.218.25.37") {
echo "du får inte komma in";
} else {
echo "Step right in";
}
Tack för hjälpen men det fungerar inte för mig, alla oavsett ip-nummer får det andra meddelandet.
Tack nu fungerar det!
Hur gör jag för att godkänna en hel serie med ip-nummer, t ex 194.218.25.1 tom 194.218.25.100?
Hejsan, om du använder dig av MySQL så kan du ju lägga in alla godkända IP i en tabell och hämta värdena.
Eller så tror jag detta skall funka:
if ($REMOTE_ADDR=="194.218.25.37" || $REMOTE_ADDR=="194.218.25.36" || $REMOTE_ADDR=="194.218.25.35") { echo "du får inte komma in";} else { echo "Step right in";}
Ha'en bra dag!
Istället för en fet if-stats borde man kunna använda ett regexp. Hur? Det vet jag faktiskt inte.
Som ni säkert märker är jag inte särskilt bevandrad på det här med php, men går det inte att använda sig av större än och mindre än på något sätt för att tilldela serier?
Hej igen, löste det på följande sätt:
<?
if ($REMOTE_ADDR >= "194.25.37.1" && $REMOTE_ADDR <= "194.25.37.100" ) {
} else {
header("Location: index.php");
}
?>
Verkar funka.
$ip_parts = explode(".",$REMOTE_ADDR);
if ( $ip_parts[0] == "194" &&
$ip_parts[1] == "218" &&
$ip_parts[2] == "25" &&
(int) $ip_parts[3] >= 1 &&
(int) $ip_parts[3] <= 100 ) {
echo "Ogiltigt <br>";
}