2016-09-28 5 views
0

私は以下のような基本的なHTMLフォームを作成しています。PHPとHTMLフォームはIPアドレスの投稿のみを許可します

<form action="#" method="post" enctype="multipart/form-data"> 
    <input name="IP" type="text" /> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

また、次のようなTXTドキュメントにすべてのデータを投稿する基本的なPHPスクリプトです。

$var = $_POST['IP']; 
file_put_contents("/example/secretfile.txt", $var . "\n", FILE_APPEND); 
exit(); 

ユーザーがHTMLフォームに投稿されたものを制限し、PHPを持ってする方法はあり

は掲載唯一のものは、IPアドレスであることを確認しますか?私は、ユーザーがIP以外のものを投稿できるようにしたくありません。 IPは実際のものでも何かに接続する必要はありません。私はPHPで作業しているので、これを行う方法はわかりません。

+0

あなたは、 "正規表現" を探しています複雑な検索パターンに対して文字列をテストすることができます:http://php.net/manual/en/function.preg-match.php – arkascha

+0

[文字列が有効なIPであるかどうかを単純に検証する方法PHPで?](http://stackoverflow.com/questions/5827435/how-can-i-simply-validate-whether-a-string-is-a-valid-ip-in-php) – Epodax

答えて

2

あなたはFILTER_VALIDATE_IPを使用することができます。

$var = $_POST['IP']; 
if (filter_var($var, FILTER_VALIDATE_IP) === false) die('This is not a valid IP: ' . $var); 
file_put_contents("/example/secretfile.txt", $var . "\n", FILE_APPEND); 
exit(); 

は(など、IPv4とIPv6が受け入れられるかどうか、など)可能なフラグのためにそこを参照してください:http://php.net/manual/en/filter.filters.validate.php

+0

OPが受け入れようとしているIPアドレスの種類が明確でないため、このフィルタオプションで使用可能なフラグについても言及することは意味があります。 – arkascha

+0

ありがとうございました!私はそれを試して、私が必要とするもののために働くべきです。 – GrizPwnz

関連する問題