2017-01-12 5 views
1

この質問に対するすべての回答は古いです。私は2016+から何も見つけることができません。 HTML5のcontenteditable=trueの財産は安全ですか?私はそれがあまり使われていないと思う。それを使用するためには何を確保する必要がありますか?HTML5プロパティのcontenteditableは安全ですか?

編集:古い答え以来 、それは広く、今受け入れられているように見える、http://caniuse.com/#search=contenteditable

編集:私は、安全と言うとき、私は意味 がどのように私は何人のタイプそれが安全であるに確認していますか?どのような問題を探していますか? XSS?他に何か?

編集:編集したコンテンツをサーバーに送信します。すでに入力要素にはないHTML5プロパティについては何か違いはありますか?

答えて

1

最初は、すべてのブラウザでサポートされているわけではありません。第2に、セキュリティの限りでは、コンテンツを編集できるクライアント側の属性にすぎません。たとえば、あなたのウェブページ上のすべてのコンテンツと要素を削除するには、MY BROWSERからコンソールを開き、contenteditble="trueを「bodyタグ」に追加するだけです。サーバサイドでは、あなたのユースケースにもよりますが、どのように考えていましたか?どんなレートでもフォーム入力よりも危険ではありません。

+1

これまでの回答から、現在広く受け入れられているように見えます。http://caniuse.com/#search=contenteditable – johnny

3

contenteditable属性は、空の文字列、trueおよびfalse、空の文字列とtrueキーワードは真の状態にマップされますfalseキーワードは偽の状態にマップされますさらに、第3の状態である継承状態は欠損値ですデフォルト(無効なデフォルト値)

contenteditable="" or contenteditable="true" 

要素が編集可能であることを示します。

contenteditable="false" 

要素が編集可能でないことを示します。

contenteditable="inherit" 

要素が直接の親要素が編集可能である場合、要素が編集可能であることを示します。これがデフォルト値です。

要素にcontenteditableを追加すると、ブラウザはその要素を編集可能にします。さらに、その要素の子要素も、子要素が明示的にcontenteditable = "false"でない限り、編集可能になります。

+0

人が何を入れているかのように安全であるかどうかを尋ねています。 – johnny

+0

入力をユーザーが編集可能にする必要がある場合は、これを使用してください。それはクライアント側で完全に、ブラウザ側でそれを意味します。もちろん、サーバーデータベースに送信される場合は、値を保護する必要があります。 –

+0

これは私が求めていることです。通常の入力要素に適用されないHTML5プロパティを使用することについて、継承的に特別なことはありますか? *サーバーに送信しています。 – johnny

関連する問題