19

基本的な質問は、送信できるユーザーを制限した場合、データベースに HTML を保存しても安全ですか?

かなり簡単な質問があります。ビデオチュートリアルやその他のコンテンツを提供しています。適切な BBCode パーサーを作成するのに何ヶ月も費やさなければ、HTML を保存して、データベースから取得したときに思いどおりに見えるようにする必要があります。

基本的に、チュートリアル シリーズと各エピソードに関するすべての情報をデータベースに保存する予定です。複数の段落、順序付きリストと順序なしリスト、必要なリソースへのリンクなどを追加できるように、両方の説明に書式を設定したいと考えています。

PHP を使用して、独自のデータベースを作成しています。現在、phpMyAdmin を使用して情報をテーブルに保存しています。PHP コードで情報を取得するときは、読み取り専用権限を持つユーザーを使用します。

これを行う最善の方法は何ですか?ありがとうございました!

4

5 に答える 5

9

他の人が指摘したように、HTML を DB に保存することについて危険なことは何もありません。しかし、それを表示するときは、HTML が安全であることを知る必要があります。HTML を編集しているのはあなただけなので、問題はないと思います。

ただし、HTML はまったく保存しません。見出し、段落、リスト、リンク、画像などが必要な場合は、Markdown が最適です。Markdown の利点は、通常のテキストと同じように見える (つまり、記事を電子メールとして送信したり、txt ドキュメントとして保存したりできる)、HTMLよりもはるかに少ないスペースを占有し、変更する必要がないことです。 HTMLが更新されると。

http://michelf.ca/projects/php-markdown/

于 2013-01-30T14:31:44.880 に答える
5

HTML コードの保存は問題ありません。ただし、信頼できるソースからのものでない場合は、それを確認して、マークアップの安全なサブセットのみを許可する必要があります。HTML Tidy ライブラリがそれを手助けしてくれます。

また、ウェブサイトのデザインの将来の変更を考慮する必要があるため、マークアップを使いすぎず、基本的なタグのみを使用してください。希望どおりに表示するには、マークアップでグローバル CSS ルールと意味的に名前が付けられたクラスを使用します。

しかし、Markdown や別の wiki のような構文を使用する方がさらに良いでしょう。リアルタイム プレビュー機能を備えた Markdown 用の優れた JS エディター (ここ Stackowerflow のものなど) があり、HTML を完全に回避できます。

于 2013-01-30T14:15:40.327 に答える
5

セキュリティの観点からは、HTML をデータベースに保存することは、HTML を他の場所に保存することよりも安全ではありません (その HTML の唯一の作成者である場合)。しかし、繰り返しになりますが、他の人があなたの Web サイトで HTML を作成できる場合、それをどこに保存するかは問題ではありません。

HTML を効率的に格納する方法であるかどうかは、まったく別の問題です。私があなたなら、適切なテンプレート システムを使用して、HTML をファイルに保存します。

于 2013-01-30T14:16:36.407 に答える