• ベストアンサー

サーバー名の正誤チェック方法???

入力された受信・送信サーバー名の適否をチェックしたいと思います メールアドレスのチェック方法は多数散見されますが、サーバー名のチェックに関しては寡聞にして存じません 基本的にサーバー名の文法規約はあるのでしょうか? (1)もしあるならば参考になる資料etcをお教え願います (2)更にその適否をチェックするべき正規表現関数(C#ならば嬉しい)があれば教えてください お願い申し上げます

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

SMTPサーバやPOP3(もしくはIMAP)サーバということであれば、インターネットホスト名の規約に従っている必要があります。つまり ・ドットで区切られた一連の「ラベル」で構成されている(全体で255文字まで) ・それぞれのラベルは1文字以上63文字以下である ・ラベルにははasciiの[0-9,A-Z,a-z」及びハイフンだけが使用できる   (英字のupper/lowerは無視される) ・ラベルの最初と最後の文字にハイフンを使うことは出来ない あたりをチェックすればいいと思います。 (参考) http://tools.ietf.org/html/rfc952

sato-may
質問者

お礼

ありがとうございます 早速この規約で正規表現チェックを入れてみます ネットで探したのですが全く見当たらなったので大助かりしました ありがとうございました しかし不思議です ・・・・ 誰もサーバー名を検証しないのでしょうか??? 

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4855/10270)
回答No.1

何のサーバーですか?OSによって違い得ます。 一般的には、英字で始まる英数字です。 文字数制限がある場合もあります。

sato-may
質問者

お礼

ありがとうございました 助かりました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • サーバー名の適否の判別方法?

    SMTP送信プログラムのサンプルでは送信サーバー名を以下のように設定しろと説明されています(C#の際) SmtpClient smtp = new SmtpClient(); smtp.Host = "****.com.ne.jp";     //送信サーバー名を設定 現在私が作成中の送信プログラムでは、送信サーバー名を手入力から得ています もちろん最低限の文法上のチェックは行っております ☆0-9,a-z,A-Z ☆ラベルは63文字以内 ☆ラベルの最初と最後には - を許さない etc でも文法上はOKであっても存在しないサーバー名であればエラーで落ちてしまいます 入力されたサーバー名がインターネット上に存在するか否かをSMTPを呼出す前に判別する方法が分かりません 色々と検索しましたが判然と致しません 適当な事例、資料をご存知でしたらお教えください 宜しくお願い申し上げます

  • PHPのpreg系正規表現が正しいかチェックる方法

    お世話になります PHPのpreg系正規表現で入力された値が 正規表現として正しいかどうか調べたいのですが どのようにすれば良いのでしょうか? 「正しい」とは 導き出したい値が正しいかではなく 正規表現の記述方法が正しいかどうかです 「[]」と「{}」が正しく閉じているかチェックするだけでいいのかな?? チェック用の関数などあったら最高です (例) 正しい [0-9]{1,3} 上記をpreg系関数に入れると1~3文字の半角数字という意味になります 誤っている [0-9{1,3} 上記をpreg系関数に入れると、括弧が閉じていないので Compilation failedになります お忙しい中恐縮ですが 分かる方お助け下さいませ

    • ベストアンサー
    • PHP
  • 正規表現によるチェック

    wikiのような掲示板のサイトを作っているのですが、 フォームへの入力値をチェックするところで、困っています。 正規表現を使えばよさそうなのですが、正規表現がよく理解できていないので、申し訳ないのですが、教えてください。 フォームへの入力が #ref(ファイル名1) #ref(ファイル名2) .... という形式に合致しているかをjavascriptでチェックし、合致しない場合はエラーを出したいと考えています。 ここで、ファイル名は 18桁の数字+拡張子 (jpg、pjpeg、gif、png、x-png) から成ります。 以上、すみませんが、ご教授の程よろしくお願いいたします。

  • ドメインからホスト名だけ取り出す

    ドメインからホスト名だけ取り出す方法ってあるのでしょうか? host01.server.jp から host01 を取り出したいのです。正規表現でマッチさせて取り除くしかないのですかね?

    • ベストアンサー
    • PHP
  • メールサーバーの構築(3)

    こんにちは。この件に関して前回まで、回答・アドバイスしてくださった方有難う御座います。 今、既存のネットワーク中(大学・会社など)にメールサーバーを構築しています。(OS:Red Hat Linux6.2J) Eudoraというメーラーを使用すると、受信はしっかりとできます。しかし、送信ができませんでした。(サーバーマシンからは送信できました。) この問題に関して、EudoraのSMTPサーバの設定をホスト名からIPアドレスに変更したことにより送信できるようになりました。これにより、どうやら、DNSの設定に問題があるということなのですが・・・ まず、既存のネットワークに構築する場合、キャッシュ(オンリー)サーバーとして設定すればいいと、書籍に書いてあったので、そのように設定したつもりです。 /etc/resolv.conf domain abc.def.ac.jp 自ホストのドメイン名 nameserver 123.45.678.90 中継サーバーIPアドレス /etc/named.boot ; ;a caching only nameserver config ; directory /var/named cache . named.ca primary 0.0.127.in-addr.arpa named.local /etc/named.confはインストール時と設定は変えていません。 どこか、間違えているところがあるとおもうのですが・・・?? あと、/etc/hostsにIPアドレスとホスト名を書いておいても、DNSの設定は必要なのでしょうか?DNSの設定をする以前は、pingをかけるとホスト名でつながっていることが確認できるのですが、nslookupを実行すると、うまくいきませんでした。これは、なぜなのでしょうか・・?pingの時はホストが見つけられているのに・・と思いました。 表現が不適切なところもあるかもしれませんが、アドバイスなどしていただければ助かります。よろしくお願い致します。

  • 複数メールアドレスのチェック

    現在、phpにてメールフォームを制作していますが、送信先に複数メールアドレスを指定した際の正規表現でチェックしたいと思っているのですが、全く分かりません。 正規表現で「preg_match("/^([a-z0-9_]|\-|\.|\+)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,6}$/i",$value)」としていますが、「aaa@aa.aa,bbb@bb.bb」などカンマでメールアドレスを複数(1~5アドレスを想定)区切った場合、エラーが出てしまいます。 どのようにしたら、うまくいくか教えていただけないでしょうか? 色々と調べましたがわかりません。 大変申し訳ないですが、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • Mac・Winでファイル名チェック後アップロードしたい

    ryouchiです。 現在下記環境でWebブラウザよりファイルのアップロードを行うサーバアプリケーションを作成しています。 --- Webサーバ:WindowsNT4.0 SP4+IIS4.0+ColdFusion4.5 クライアント:  Windows 95/98/ME/NT WorkStation   InternetExplorer(4.0/4.5/5.0/5.5)   Netscape Communicator 4.7  MacOS 8.1/8.6/9.04   Netscape Communicator 4.7 --- Macでは「:」はディレクトリセパレータとしてシステムが利用しているので「:」を含むファイル名は使えません。 Windowsでは「/」「\」・・・などは使えません。 NTサーバが認識不可能なファイル名のついたMacのファイルをアップロードする際に、<input type="FILE">で選ばれたファイルがWindowsまたは、Macで使えないファイル名ならばJavaScriptでチェックしアラートを表示するようなことは可能でしょうか? また、<input type="FILE" name="fname">でファイルを選択したとき、このfnameのvalueには絶対パスが入ると思うので単純にvalueの値に未使用の文字が使われているという判断では不十分です。 Macから「Macintosh HD:12/1データ_1.doc」というフォルダ下にあるファイルは「/」が含まれているため送信できないようにしたいのですが、上記のvalueの判断のみでは、「Macintosh HD:12/1フォルダ:データ_1.doc」というデータも絶対パス内に/が入っているため送付できません。 またサーバ内では送信したファイル名はクライアントのマシンで付いていた名前を利用したいので、サーバ側で適当な名前をつけることは考慮しません。 要するに<input type="FILE">を用いたファイルアップロードの際、Mac・Winのどのブラウザからでも送られるファイル名をチェックし、問題のあるファイル名ならば送信できない(アラートを表示)したいのです。 有識者のかた、よろしく御教授ください。

  • ウイルス、スパムチェックサーバーについて

    現在、使用中のウイルス、スパムチェックサーバーでマックパソコンから送信した添付ファイル付きのメールがはじかれるため、メーカーに問い合わせをしたところ以下のとおり回答がありました。 ですが、マックパソコンで旧メーラーのみでもなく最新のメーラーでも対応していないものもありました。 よって、現状、完全には対応可能なのはWindowsしかないようなスパムチェックソフトはどうなのか疑問があります。 この様な設定は一般的にありうるものでしょうか? 参考資料等がありましたら御教授願います。 ============サポートからの回答============================== パワーポイントのデータファイルを添付したときメールクライアント ソフトウェアが添付ファイル名をRFCに沿った変換 Content-Disposition: attachment; filename*=ISO-2022-JP''%1B%24B%24%22%24jJ%7D%1B%28B%2D2%1B%24B%21J4%5D%3B3%21K%1B%28B.ppt の記述をしています。この記述(変換)には問題ありませんでしたが、 添付ファイルに関する情報 Content-Transfer-Encoding: base64 Content-Type: application/vnd.ms-powerpoint; x-mac-type=534C4438; x-unix-mode=0644; x-mac-creator=50505433; ここまでは問題ない様子ですが、 name=に記述されている情報が7ビットJISでの記述でした。 このブロックはエンコード方式を印刷可能な64文字で変換するBase64 で宣言されているにも関わらず、7ビットJIS(制御コードのエスケープ 文字が存在)で記述されておりました。 ここの記述部分がRFC的に見て違反と検知している様子でした。 ためしに、name=のファイル名に関する部分を =?ISO-2022-JP?B?GyRCJCIkakp9GyhCLTIbJEIhSjRdOzMhSxsoQg==?=.ppt (内容的同じ内容)に変更するとExploit/Headerとして検知されることは ありませんでした。 ××××××はセキュリティ製品としてRFC違反など厳格にチェックして おりますので現状の回避方法としては以下の2点かと思います。 1)現行のメールクライアントシステムを他のメールクライアント   へ変更する。   ではどのメールクライアントソフトがよいか?に関してはこのソフトウェア   を動作保障すると明言できませんのでご理解いただけますよう   お願いいたします。 2)AppleMailを利用するときに日本語ファイルを添付して送信する前に   いったん、ファイル名を半角英数文字に変換して送信するか、ZIPなどで   圧縮しその時に生成されるファイル名を半角英数文字だけにして送信する。 ============================================================

  • outlook expressで複数の送信者名を使いたい

    OE6です。メールを送信する際、仕事と友人や趣味の仲間で送信者名だけを使い分けたいのです。 今は同じサーバーで別のアカウントを設定して使い分けてますが、受信メールチェックの際、認証とチェックを繰り返して煩わしいのです。

  • 特定のファイルをサーバに保存できないようにしたい

     過去にも出ている質問なようですが、今可能な技術ならば改めて教えて欲しいと存じます。  ファイルサーバに例えば画像ファイルを保存できなくするようにするにはどのような方法がありますか?。  何度と無く周知や整理依頼を社内でお願いしておりますが、特に仕事に無関係であったり、やたらに資料と称して縮小もしない多数の画像ファイルを保存する社員が後を絶ちません。そのような社員は概ね決まってはいるのですが、警告してもだめです。  会社で規約と言う方法もあるでしょうが、私は発令する立場でもなく、就労規約以外、規約といったようなものを作成して遵守していこうという会社気質でもないので困っております(そもそも上層部もモラルと言ったことに無頓着ですし、損失発生が社員にあってもそれが賞与に反映されるわけでもなく、女性社員には甘い有様で・・・・)。    何か良い方法はありますでしょうか?。  OSは2003Serverで、容量は200GBほどです。