mixiユーザー(id:2089365)

2019年06月17日00:01

35 view

【PHP】テキストWeb表示最後の問題

https://mixi.jp/view_diary.pl?id=1971917892&owner_id=2089365
で、作ったphpファイルの最後の問題点は2つ。

1つ目は、悪意あるタグ対策がされていない。
https://mixi.jp/view_diary.pl?id=1971864041&owner_id=2089365
と同様に、htmlspecialchars関数を使う。

2つ目は、phpファイルにアクセスした際に、空のaを受信して、
fwrite($f,$_GET["a"]."\n");
で、書き込む為に改行がされること。
phpファイルにアクセスする度に改行することになる。
これは余分なので、メッセージ送信後の場合だけ、ファイルへの
書き込みを行うように修正する。
https://mixi.jp/view_diary.pl?id=1971858331&owner_id=2089365&org_id=1971864041
のように、isset関数で判別する。
<?php〜?>内を以下に修正する(上手く表示できないので、?php前の<は全角)

if(isset($_GET["a"])){
$f=fopen("chat.txt","at");
$mozi = htmlspecialchars($_GET["a"],ENT_QUOTES);
fwrite($f,$mozi."\n");
fclose($f);
}

print "<pre>";
readfile("chat.txt");
print "</pre>";

これで、最初にアクセスしても改行されないし、
タグを使用しても、無効化して表示される。
0 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する

<2019年06月>
      1
2345678
9101112131415
16171819202122
23242526272829
30      

最近の日記

もっと見る