0

管理パネルの何らかの開始を開始しようとしているので、IP が許可された IP と等しい場合、編集ボタンが表示されます。現在、テスト目的のためだけにローカルホストとサーバーの IP を持っています。しかし、複数の IP を $allowed に設定すると、機能しません。

コードは次のとおりです。

<?PHP
$ip = $_SERVER['REMOTE_ADDR'];
$allowed = '127.0.0.1, 67.202.102.224';
?>
</head>
<body>
    <div id="page">
<?PHP
if ($ip == $allowed){
echo '<p>
<button class="btn" onclick="exampleClickToEdit();">Edit</button>
<button class="btn" onclick="exampleClickToSave();">Save</button>   
</p>';
}
?>
4

4 に答える 4

2

おそらくin_array()を使用します

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$allowed = array('127.0.0.1',
                 '::1',
                 '67.202.102.224',
                 );
?>

<!--dont forget the rest of your head-->
</head>
<body>
    <div id="page">
<?php
if (in_array($ip, $allowed)){
    echo '<p>
<button class="btn" onclick="exampleClickToEdit();">Edit</button>
<button class="btn" onclick="exampleClickToSave();">Save</button>   
</p>';
}
?>
于 2012-08-30T11:43:37.547 に答える
0

$ip が $allowed と等しくなることはありません。$ip が $allowed 文字列に存在するかどうかを確認できます。

if (strpos($allowed, $ip) !== FALSE) {
于 2012-08-30T11:44:21.180 に答える
0

私は PHP の専門家ではありませんが、$ip を127.0.0.1, 67.202.102.224常に false になる長い文字列と比較しようとしているようです。このようにIPを分離する必要があります"127.0.0.1", "67.202.102.224"

于 2012-08-30T11:44:58.637 に答える
0

文字列を比較しています。文字列'67.202.102.224'が と等しくなる方法はありません'127.0.0.1, 67.202.102.224'

私はPHPを知りませんが、いくつかのグーグルで、使用できる次のコードを見つけました:

$allowed = array('127.0.0.1', '67.202.102.224');
if (in_array($ip, $allowed)) { ...
于 2012-08-30T11:46:02.427 に答える