Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: IP-osoitteen tarkastaminen

volume [19.12.2010 19:09:20]

#

minun pitäisi sallia tietty toiminto vain erikseen mainituista ip-osoitteista. voisiko sen tehdä ehkä vähän "fiksummin" kuin alla?

$lupa = talletuslupa($_SERVER['REMOTE_ADDR']);

function talletuslupa($f) {
  if (($_SERVER['REMOTE_ADDR']) == 'xx.xxx.xx.xxx') {
    return "Yes";
  }
  if (($_SERVER['REMOTE_ADDR']) == 'yy.yyy.yy.yyy') {
    return "Yes";
  }
  return "No";
}

Antti Laaksonen [19.12.2010 19:13:25]

#

Yksi tapa on laittaa sallitut IP-osoitteet taulukkoon:

<?php
$sallitut = array("xx.xxx.xx.xxx",
                  "yy.yyy.yy.yyy");

if (in_array($_SERVER['REMOTE_ADDR'], $sallitut)) {
    echo "Toiminto on sallittu";
} else {
    echo "Toiminto on kielletty";
}
?>

Metabolix [19.12.2010 20:01:08]

#

Tekstien "Yes" ja "No" käyttäminen funktion paluuarvoina on suunnilleen yhtä fiksua kuin lukujen tallentaminen muodossa "yksi", "kaksi" jne. – siis ei yleensä fiksua ollenkaan. Jos on tarkoitus palauttaa kyllä tai ei, käytä sitä varten olevia arvoja true ja false. Säästyt vaivalta ja virheiltä.

Macro [19.12.2010 20:25:00]

#

<?php
$lupa = "yes";
if($lupa) echo "true";

$lupa = "no";
if($lupa) echo "true";

$lupa = "";
if($lupa) echo "true";

$lupa = true;
if($lupa) echo "true";

$lupa = false;
if($lupa) echo "true";

Kaikki muut arvot ovat tosia, paitsi tyhjät arvot, kuten "" tai array() ja false.
https://www.php.net/manual/en/language.types.boolean.php

Teuro [19.12.2010 20:44:16]

#

Ja hiukka tiiviimmin edellinen.

<?php

$sallitut = Array("yes", "true", "ok");

$lupa = "info";

if (in_array($lupa, $sallitut)) {
	echo "true";
} else {
	echo "false";
}
?>

volume [20.12.2010 21:46:20]

#

Metabolix kirjoitti:

Tekstien "Yes" ja "No" käyttäminen funktion paluuarvoina on suunnilleen yhtä fiksua kuin lukujen tallentaminen muodossa "yksi", "kaksi" jne. – siis ei yleensä fiksua ollenkaan. Jos on tarkoitus palauttaa kyllä tai ei, käytä sitä varten olevia arvoja true ja false. Säästyt vaivalta ja virheiltä.

niin...siksipä juuri kysyinkin fiksumpaa tapaa tehdä tuo tarkastus. thänks!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta