問題タブ [wmd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - テキストエリアを表示せずにMySQLからHTMLサーバーサイトへのWMDマークダウン
私はMarkdownコードをMySQLに保存していますが、WMDコントロールを介して転送したり、大量のデータ転送を使用したりせずに、HTMLに戻す方法が心配です。
.net - ASP.NET WebサイトのWMD-Editorサーバー側からマークダウンをキャプチャするにはどうすればよいですか?
としてを使用しasp:TextBox
ていwmd-input
ます。ユーザーが送信ボタンをクリックすると、サーバー側のマークダウンを自分のコントロールのText
プロパティとしてキャプチャしません。asp:TextBox
ただし、予想されるマークダウンの代わりに、サーバー側のTextBoxにはHTML形式のマークダウンが含まれています。
<h1>testing</h1>
純粋な値下げを取得するにはどうすればよいですか?
PS:クライアント側では、にマークダウンが表示されますasp:TextBox
。ポストバックの前にいつHTMLに変換されるのかは私にはわかりません。
asp.net-mvc - wmd-editorを使用してテキストのマークアップバージョンを保存できないようです
wmd-editorを使用してtextareaのコンテキストを保存しているときに、問題が発生します。これは、htmlとして保存したいということです。私は次のコードを持っています:
入力要素...
出力マークダウンを作成するためのスクリプト...
コントローラコード...
私は何かが足りないのですか?テキストエリアのマークダウンバージョンを返さない理由はありますか?
c# - ホワイトリストへの登録、C#でのWMD制御によるXSSの防止
私がここでしていることに何か問題はありますか?このようなことを扱うのは初めてですが、さまざまな方法のリスクなどをすべて理解していることを確認したいと思います。
WMDを使用してユーザー入力を取得し、リテラルコントロールで表示しています。入力すると編集できないので、マークダウンではなくHTMLを保存します。
次に、ユーザーが使用できるようにしたいタグに対して、次のようなものを実行します。
編集これが私が現在行っていることです:
- ここで私がしていることは、XSSから私を保護し続けますか?
- 他に考慮すべき点はありますか?
- ホワイトリストに登録する通常のタグの適切なリストはありますか?
html - なぜマークダウンが必要なのですか?
WMDのようなフロント編集エディターを備えたMarkdownが必要なのはなぜですか? マークダウンは、WMD エディターから送信されたコンテンツに対して何をしますか?
Markdown はコンテンツをバックエンドにどのように保存しますか? それは同じように、または他の形式ですか?html エンコードを実行できないのはなぜですか? *bold*
私が非常にナイーブに聞こえたら申し訳ありません。
internet-explorer-7 - WMD エディターがロード時に Internet Explorer 7 を 3 秒間フリーズさせる
同じページに複数のコードが必要なため、WMD エディターの元のコード (スタック オーバーフロー バージョンではありません) を使用しています。スタック オーバーフローのバージョンは、複数のエディター インスタンスを持たないため、要素 ID を内部的に多用します。 1ページあたり。
コードは Firefox 3.5 などでは問題なく動作します。ただし、Internet Explorer 8 (Internet Explorer 7 互換モード) で実行すると、ブラウザー全体が約 3 秒間フリーズします。新しいインスタンスが表示される前に。Internet Explorer の開発ツールでプロファイリングしてみたところgetWidth()
、縮小版のコードの 520 行目の関数が常に占有されているようです。しかし、戻り値をハードコーディングしようとすると (常に同じものを返すため)、ボトルネックはgetHeight()
関数に移行しました。
jQueryプラグインに変換するために使用しているコードを添付しています。
どんな助けでも大歓迎です。
editor - 大量破壊兵器編集者の消毒
私はWMDエディターの入力を無害化する方法を見つけようとしています。
<code>
具体的には、WMDが生成するタグでのみHTMLタグを使用できるようにしようとしています。それは可能ですか
私の問題は、次のコードが潜在的なXSS攻撃に対して脆弱なHTMLとしてレンダリングされることです。
例えば、<a onmouseover="alert(1)" href="#">read this!</a>
上記のコードは通常、プレビューモードとデータベースに保存されたときの両方でレンダリングされます。
スタックオーバーフローにはこの問題はないようです。同じコードがテキストとしてレンダリングされるだけです。
StackOverflowチームがhttp://refactormycode.com/codes/333-sanitize-htmlでコードを共有していることに気付きました。これを行うためにWMDをサニタイズするために本当にC#を使用する必要がありますか?
javascript - WMDエディターのプレビューHTMLをサーバー側のHTML検証に合わせます(たとえば、JavaScriptコードが埋め込まれていません)
生成されたHTMLに悪意のあるものが含まれていないことを確認するために、WMDエディターによって生成されたMarkdownのサーバー側スクラビングを実行する方法について、多くのスタックオーバーフローの質問があります(たとえば、ホワイトリスト、C#およびWMDマークダウンでのWMD制御によるXSSの防止およびサーバー側)このようなスクリプト:
しかし、クライアント側の穴を塞ぐ良い方法も見つかりませんでした。もちろん、クライアント検証はサーバーでのスクラブ検証に代わるものではありません。誰もがクライアントのふりをして、厄介なMarkdownをPOSTできるからです。また、サーバー上のHTMLをスクラブしている場合、攻撃者は不正なHTMLを保存できないため、後で他のユーザーがHTMLを確認したり、Cookieが盗まれたり、不正なスクリプトによってセッションが乗っ取られたりすることはありません。したがって、WMDプレビューペインでもスクリプトなしのルールを適用する価値がない可能性があるという正当なケースがあります。
しかし、攻撃者が悪意のあるMarkdownをサーバーに取り込む方法を見つけたと想像してください(たとえば、別のサイトからの侵害されたフィード、またはXSSバグが修正される前に追加されたコンテンツ)。マークダウンをHTMLに変換するときに適用されるサーバー側のホワイトリストは、通常、その悪いマークダウンがユーザーに表示されるのを防ぎます。しかし、攻撃者が誰かにページを編集させることができた場合(たとえば、悪意のあるエントリにリンク切れがあったことを示す別のエントリを投稿し、誰かに修正を依頼することによって)、ページを編集する人は誰でもCookieが乗っ取られます。これは確かにコーナーケースですが、それでも防御する価値があるかもしれません。
また、クライアントプレビューウィンドウでサーバーが許可するのとは異なるHTMLを許可することはおそらく悪い考えです。
Stack Overflowチームは、WMDに変更を加えることで、この穴を塞いでいます。彼らはどうやってそれをしましたか?
[注:これはすでに理解していますが、JavaScriptのデバッグには注意が必要なので、同じことをしたいと思うかもしれない他の人を助けるために、ここで自分の質問に答えています]。
javascript - どのStack-OverflowスタイルのMarkdown(WMD)JavaScriptエディターを使用する必要がありますか?
バックグラウンド
ユーザーが入力したコンテンツを必要とするアプリケーションに取り組んでおり、StackOverflowスタイルのMarkdownエディターを使用することにしました。過去数日間このトピックを調査した後、ベースWMDエディターには多数のフォークがあり、いくつかの基本的な機能強化と、StackOverflowのものとの重大な違いがあることに気付きました。
これがアプリケーションの心臓部になるので、私はできる限り最高のコードベースから始めたいと思います。そこにある多くのソリューションのどれが私のニーズに最も適しているかを誰かが推薦できれば幸いです。
以下は、要件に加えて、私がすでに見つけたものです。この質問が、どのバージョンを使用するかを決定するのに役立ち、自分のニーズにさらに適したポートを見つけるのに役立つことを願っています。
私のプロジェクトの要件
- ライブプレビュー
- 同じページに複数の編集者がいる(ユーザーは別の編集ボックスを動的に追加できるため、事前に何人かはわかりません)。
img
追加のボタンで拡張する機能( URLを追加するだけでなく、画像をアップロードするためのボタンが欲しい)。- 編集ボックスを動的に表示/非表示にする機能(およびプレビューボックスのみを表示)。
- 絶対に必要というわけではありませんが、よく知られているので、StackOverflowのルックアンドフィールにできるだけ近づけたいと思います。
- これが重要かどうかはわかりませんが、バックエンドはDjangoで記述されています。
私が見た編集者
これが私が見てきたコードベースのいくつかです。明らかに、私はそこに別の解決策を逃しているかもしれません。
- デロビンバージョン。私の知る限り、これは公式のStackOverflowバージョンです。1ページで複数のエディターをサポートしていないようです。
- jQuery.MarkEdit。見た目はとても良いですが、StackOverflowバージョンとはかなり異なります。
- MooWMD。今のところ勝者のように見えますが、MarkEditよりもアクティブ/ハッキングが少ないように見えるので、少し心配しています。
- wmd-新しいバージョン。よくわかりませんが、あまり使用されていない古いコードベースのように見えます。
- SocialSiteブランチ。公用ではないようです。
wmd - WMDエディターのコンテンツをHTML形式に変換する
私はこのWMDエディターを使うのはとても初めてです。簡単に言うと、「wmd-input」クラスのASPテキストボックスを使用して、ページでこのエディターを使用しています。それは完全にWMDエディタのように動作しています。
しかし、データを入力して太字や斜体などの書式を設定し、サーバー側からエディターのコンテンツを読み取ると、データがプレーンテキストで表示されます。
データをHTML形式のデータとして読み取る方法はありますか?