【PHP】くだらねぇ質問はここに書き込みやがれpart9
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/09/03(土) 11:53:32ID:7OO4C5e5ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい
・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
0002nobodyさん
2005/09/03(土) 12:51:30ID:???0003nobodyさん
2005/09/03(土) 13:50:11ID:???作成にあたりセキュリティ面に不安があり、皆様のご意見を聞かせていただけたらと思います。
例えばユーザーが編集したページデザインが
<html><head><head><body>
名前:#namae<br>
タイトル:#title<br>
</body></html>
だったとしてこれを元に
<?php
echo '<html><head><head><body>名前:'.$namae.'<br>タイトル:'.$title.'<br></body></html>';
?>
(↑#namaeを '.$namae.' に#titleを '.$title.' に変換しただけ)
このようなincludeファイルを作って表示された場合に、シングルクウォートの入力を許可するとPHPの関数が実行可能となってしまいますが、
シングルクウォート以外を使って関数の実行は可能でしょうか?デザインの編集はフォームで行います。
ソース中の記号が読みにくいかと思いますがよろしくお願い致します。
0004nobodyさん
2005/09/03(土) 14:11:34ID:7K8wd7Ia#namaeを
<?php echo $namae; ?>に
置き換えればいいんじゃね?あとは普通のHTML。
00053
2005/09/03(土) 14:37:13ID:???ユーザーが>>2のようなデザインをフォームから投稿すると
str_replace("#namae","'.\$namae.'")
といったように書き換えて>>2のようなincludeファイルを作成します。
掲示板のPHPは記事データ($namaeや$title)を読みこんだ後で
作成された>>2のincludeファイルを読み込んでincludeされたファイルがデータを表示します
ユーザーが作成するデザインでシングルクウォートが使えると
<html><head><head><body>
名前:#namae<br>';
$fp = ("./bbs.php");
$txt = fread($fp,filesize($file));
echo $txt;
echo '
タイトル:#title<br>
</body></html>
といった感じに書かれてしまうと、自由にPHPを実行されてしまいます。
シングルクウォート以外に禁止したほうがいい文字列なんかありますでしょうか?
わかりづらい文章ですみません。
0006nobodyさん
2005/09/03(土) 19:34:03ID:???#name → $nameという処理を特定のものだけに制限すれば、あとは、HTML内のただの文字にしかならないと思うけど。
0007nobodyさん
2005/09/03(土) 20:21:17ID:???お前が「レンタルールを提供するサイトを運営している」事が驚きだね。
ついでに言っとくが、この結果はどうなると思う?
$data = "'A';print 'TEST';";
echo $data
00087
2005/09/03(土) 20:22:22ID:???0009nobodyさん
2005/09/03(土) 22:03:46ID:???よくわからんが、
$namaeにPHPコードがあると
echo $namae
でPHPコードが実行されるもんなのか?
includeファイルだからなるの?
includeだとPHPを実行しちゃうの?
じゃincludeしなければいいんだ。
ファイル読み込みとechoでinclude代用
■ このスレッドは過去ログ倉庫に格納されています