問題タブ [bbcode]
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.
php - どのタイプの入力が攻撃に対して最も脆弱ではありませんか?
どのタイプの入力がクロスサイトスクリプティング(XSS)およびSQLインジェクション攻撃に対して最も脆弱ではありません。
PHP、HTML、BBCodeなど。友人のセットアップを支援しているフォーラムについて知る必要があります。
javascript - 正規表現にJavaScriptで貪欲でないマッチングを使用する方法はありますか?
JavaScriptで貪欲でないマッチングを使用する方法があるのだろうか?U modiferを試しましたが、機能しないようです。
JavaScriptで小さなBBCodeパーサーを書きたいのですが、貪欲なマッチングがなければ、(少なくとも私が見る限りでは)次のようなことはできません。
ただし、HTMLの有効性を確認する必要がないため、このような置換は便利です。閉じられていないマークアップは単純なテキストのままになります。
java - 文字列区切りの正規表現
私は bbcode パーサーを構築しようとしていますが、一致が広すぎないようにする方法を見つけるのにかなりの問題があります。たとえば、次のように [list] to conversion を実装したいと思います。
これに置き換えられます:
これは正常に機能しますが、正規表現が最初のリストの開始タグと 2 番目のリストの終了タグに一致する 2 つのリストがある場合を除きます。したがって、この
これになります:
本当に醜い出力を生成します。これを修正する方法について何か考えはありますか?
editor - HTML以外のWYSIWYGWebエディターを提案できますか?
私は優れたWYSIWYGエディターを求めて市場を偵察しています。私のユーザーは、Stack Overflowで今行っているのと同じように何かを書くつもりですが、SOユーザーほど技術に精通していないため、このMarkdownエディターの代わりにWYSIWYGエディターが必要です。
機能面では、このエディターにあるボタンとほぼ同じ機能、つまり太字/斜体/リンク/引用符/リスト(番号付き/箇条書き)/見出しをエディターに持たせたいと思います。もちろん、より多くの機能が興味深いです。
エディターにHTMLで保存せず、代わりにBBCodeやMarkdownなどの他の形式を使用してほしい。これは、ユーザーがスクリプトやその他の厄介なものをデータベースに挿入する可能性を最小限に抑えたいためです。
FCKeditor、TinyMCEなど、さまざまなWYSIWYGエディターがありますが、残念ながらそれらのほとんどはHTMLで保存されます。
TinyMCEにはBBCodeモードがありますが、TinyMCEは一種の肥大化したものだと読みました。私は多かれ少なかれ死んでいるように見えるMarkdownWYSIWYGプロジェクトに出くわしました。
他に何かアドバイスはありますか?
エディターがjQuery上に構築されている場合はプラスです。
regex - 正規表現と XSS の「戦争」
私は常に、フォーラムやブログのような Web ソフトウェアを作成することに興味を持っていました。これは、限定的なマークアップを使用して HTML に書き直すものです。しかし最近、PHP について、「PHP BBCode parser -PEAR」をググってみて、いくつか試してみると、非効率的な混乱が生じるか、あちこちに XSS ホールのある貧弱なコードが得られることにますます気づきました。
前述の貧弱な BBCode パーサーの例を挙げると、どのように XSS を回避しますか? リンクを処理するための典型的な正規表現を取り上げます。リンクの脆弱性と回避方法について言及できます。
画像タグの処理は、これほど安全ではありません。
そのため、主に PHP の実装に固有の質問がいくつかあります。
- この例では、uri/url 検証式を使用してのみ一致させることをお勧めしますか? または、コールバックを使用
(.*?)
してから、入力が有効なリンクかどうかを確認する方がよいでしょうか? 上記で明らかなようにjavascript:alert('XSS!')
、上記の URL タグでは機能しますが、URI マッチングが行われると失敗します。 - コールバック内のような関数はどう
urlencode()
ですか? (URI 標準に関する限り) 抑止力や問題になりますか? - フルスタック パーサーを作成する方が安全でしょうか? それとも、そのようなものを開発して使用するために必要な時間と処理能力は、ページごとに複数の異なるエントリを処理するものには重すぎますか?
私の例は多くの例の 1 つであり、いくつかの例よりも具体的であることはわかっています。ただし、独自のものを提供することをためらわないでください。 そこで、テキスト解析状況における XSS 保護の原則とベスト プラクティス、および一般的な推奨事項を探しています。
javascript - BBCodeを削除する正規表現
文字列内のBBCodeを取り除くには、正規表現が必要です。私は次のもの(そしてタグ付きの配列)を持っています:
[tag] this [/ tag]は問題なく取得されますが、[url = http://google.com] this[/url]を使用すると失敗します。
何を変更する必要がありますか?どうもありがとう。
java - Java BBCode ライブラリ
BBCode の適切な Java 実装を使用した人はいますか? 私は見ています
- javabbcode : 何も表示されません
- kefir-bb : アルファとしてリストされています
- JBoss ソースコードの BBcode パーサー。
より良いオプションはありますか?
php - テキスト内の bbcode YouTube タグを解析し、ビデオ ID を含む html に置き換えます
次のような bbcode タグを解析するブログを作成しています。
入力:<youtube=http://www.youtube.com/watch?v=VIDEO_ID&feature=channel>
出力:
私の関数は今のところ信じられないほど単純です。現在、差分プロセス関数を呼び出すマスター プロセス関数があります。この場合、そのうちの 1 つが processYouTubeVideos() です。だから私はそれを次のように呼びます:
processYouTubeVideos() は youtube タグ内から完全に URL を受け取りますが、何らかの理由で、explode() (または分割) を使用すると区切り文字が見つかりません。「u」や「tube」などのテスト値を使用しても...