2016-04-18 3 views
1

私はこのhtmlとjavascriptを使って作成したチャットルームを持っています。私はチャットルーム自体に設定したコマンドを小さなチャットルームで実行できるようにしたいので、ここについてのセキュリティは、私がコマンド体系をPHPで作る

<? 
session_start(); 
if(isset($_SESSION['name'])){ 
$text = $_POST['text']; 

    $fp = fopen("chatLogs/defaultchatlog.html", 'a'); 
    fwrite($fp, "<div class='msgln'>(".date("g:i A").")<b>".$_SESSION['name']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>"); 
fclose($fp); 
} 
switch($text) 
{ 
case '!clear!': 
    //command goes here 
    break; 
default: 
    //code stuff 

    break; 
    } 


    ?> 

持っているものであるが、これは私はちょうどので、私はそれが働いていたことを知っていたが、それはdoesntの誰かが助けてくださいすることができ、それは別のページにご案内することによってそれをテストしていた何かをやっているようには見えません。何か別のものを教えてください

私のサイトを見ることができますhere

編集ここ

は私はいじりされているコードですが、私はまだあなたは、あなたのサーバーphp.inidate.timezoneを設定する必要があり、

<?php 
session_start(); 
if(isset($_SESSION['name'])){ 
$text = $_POST['text']; 
switch($_POST['text']) 
{ 
case 'MAIL': 
    header('Location: http://billischill.ddns.net/mailmen.php'); 
    break; 
case 'test': 
    header('Location: http://billischill.ddns.net/testroom.php'); 
    break; 
default: 
    $fp = fopen("chatLogs/testchatlog.html", 'a'); 
fwrite($fp, "<div class='msgln'>(".date("g:i A").") <b>".$_SESSION['name']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>"); 
fclose($fp); 

} 
?> 
+0

短いタグが有効になっていますか?現時点で何が起こりますか? – chris85

+0

短いタグ??それはちょうどdoesntの仕事を助けることができます –

+1

私はちょうど 'それは働かない'で助けることができません。短いタグが有効にされていない限り、PHPのブロックは '<?php'ではなく' <? 'で開きます。 – chris85

答えて

0

まず助けが必要 - 警告上映があります。

第2の:スイッチは常にdefaultになります。スイッチの状態をswitch($_POST['text'])からswitch($text)に変更する必要があると思います。私はなぜドンノをしませんが、いくつかのタイプミスやその他の文字が効いているかもしれません。

+0

'$ text = $ _POST ['text'];'どうして 'switch($ _ POST ['text'] )switch($ text) 'を変更するには?警告はそれを壊すことはありません、あなたは警告を見ていますか? – chris85

+0

(1)私もそれを理解していません - 私は答えでそれを言いました。しかし、それは常にデフォルトの場合に渡されることは事実です。スイッチの状態を確認する必要があります。 (2)警告が壊れない - 「真」!しかし、それは 'chatboxに印刷されている日付で、' php.ini'の値を設定していないので、 'UTC'時間を表示しています。私は 'google chrome'のインスペクタの' network'タブで見ました。 –

+0

私は申し訳ありませんが、私は理解していないようです –

関連する問題