2012-01-31 14 views
-2

私はユーザーがHTML言語で自分のページを編集できるWebサイトで作業しています。私はデータベースからいくつかの情報を読み込むすべてのページにメニューバーを追加したいので、PHPファイルでなければなりません。これを実現するために、.htaccessファイルのHTMLページでPHPコードを実行することができました。問題は、ユーザーがHTMLファイルにPHPを書き込んで実行できることです。どうすればこの問題を解決できますか?すべてのユーザーのすべてのページにメニューバーを自動的に追加する方法はありますか?自動前置詞htaccessはPHPファイル

+3

はsuckeyの音、私はの一つではないよ嬉しいですあなたの 'ユーザー' –

+0

@ダゴン、なぜそれはスッキーだと思いますか?彼らはPHPコードを実行できないので? –

答えて

3

あなたのジレンマに複数のオプションがあります:

  • あなたは、ユーザーが送信したコンテンツをクリーンアップするために(あなたがとにかくやりたいかもしれない)HTMLPurifierを使用することができます。それも同様にPHPを取り除くでしょう。

  • ユーザーが投稿したページを平文.htmlページに保存するときに、メニューバーを右に挿入することができます。 (あなたはまだ有害なJavascriptの投稿に走ります)

  • そして/またはユーザーデータを実行しないより厳しいラッパースクリプトを使用してください。

そのような何か:次に

<?php 
    readfile("menubar.html"); 
    readfile("userdata/" . basename($_GET["htmlpage"])); 
    readfile("footer.html"); 

は、そのスクリプトを使用してパイプに代わり、すべてのHTMLファイル要求をするRewriteRuleを設定します。

# in userdata/ 
RewriteRule ^(\w+\.html)$ ../addmenubar.php?htmlpage=$1 
関連する問題