ホームページ > php教程 > php手册 > PHPベースのチャットルーム (2)

PHPベースのチャットルーム (2)

WBOY
リリース: 2016-06-21 09:11:05
オリジナル
945 人が閲覧しました

チャットルーム

< ?php

// ファイルを開き、ファイルの長さを 0 に切り詰めます
$open_file = fopen("messages.html", "w");

// ファイルのヘッダー情報を書き込みます
fputs($ open_file , $header);

// 新しい行
// (メッセージ ファイルにすべてのエスケープ文字を表示したくないため、stripSlashes を使用します)
fputs($open_file,tripslashes($new_message));
/ / 古い行
fputs($open_file, $footer);

// ファイルを閉じる

?
これで、$REMOTE_ADDR 変数を介して相互参照する必要があるファイルができたので、投稿を希望するユーザーが禁止されているかどうかを区別できるようになります。非常に単純です:

< ?php

for ($counter=0;$counter< sizeof($banned_array);$counter++) {
if ($banned_array[$counter] == $REMOTE_ADDR) {
print(" < font color="red" face="arial" align="center" >".
"このチャットへの参加が禁止されました< /font >");
終了;
}
}

? > ;

exit コマンドはスクリプトの実行を直ちに停止します。渡された変数の処理を開始する前に、ブロックされたユーザーがチャット ルームを使用できないように、ブロックされたユーザーのチェックを挿入します。

場合によっては、動的 IP アドレスの問題を解決するより良い方法は、IP アドレス ブロックの範囲を確認することです。シンプルな関数であれば簡単に実装できます。

< ?php

function makeMask($ip) {
// PHP が連結であると認識しないように、 . をエスケープすることを忘れないでください
$ip_array =explode(".", $ip); "$ip_array[0].$ip_array[1].$ip_array[2]";
return $ip_mask;

? 次に、ループ内の if を

< に置き換えます。
for ($counter=0;$counterif (makeMask($REMOTE_ADDR) == makeMask($banned_array[$counter])) {
print("< フォントの色="red" face="arial" align="center" >".
"このチャットから禁止されました< /font >");
exit;
}
}

? >

動的 IP アドレスに対する保護手段があります。
最後に、最初に面倒な IP を取得する方法が必要です。私の実装では、$name と $REMOTE_ADDR を
iplist.html というファイルに記録します。別の秘密の URL については、メッセージを参照しながら IP アドレスを監視できます。これにより、これらの場所で最も一般的な犯罪である偽造者を検出できるという追加の利点も得られます。

iplist.htmlとmessages.htmlの作成方法は基本的に同じです。まず、iplist.html から現在の値を取得し、ヘッダー情報、フッター、古い IP レコードを削除し、新しいレコード、新しいヘッダー情報、新しいフッターを作成します。レイアウトをわかりやすくするために、表を使用しました。

< ?php

$header = "< html >< body bgcolor="#000000" text="#ffffff" >< table border="0" > "; "< /table >< /body >< /html >";
$new_ip = "< tr >< td >$name< /td >< td >$REMOTE_ADDR< ; /td < /tr > ";

$ip_array = file("iplist.html");
for ($counter $old_ips.= $ ip_array[$counter];

> メッセージ ファイルと同じように内容をディスクに書き込むだけで、Web チャット ルームが作成されます。 Java よりも優れたクロスプラットフォーム互換性があり、必要なのは Web ブラウザだけです。ドリームキャストもこの方法で動作すると聞いています。

一般的なコード スニペットを関数にマージする、トラブルメーカーをターゲット リストに自動的に追加するスクリプトを作成する、メッセージ本文をスキャンして URL を自動的に変換する正規表現を作成するなど、自分で試してみたいことがいくつかあります。リンクに電子メールを送信することもできます (Outlook Express や ICQ と同様)。

ぜひ試してみて、楽しさを体験し、経験を積んでください。それが私が PHP を始めた方法であり、今では PHP でキャリアを築いています。
楽しくおしゃべりしましょう!

<全文終了>








関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート