0

感染した Web サイトがあり、sed を使用してクリーンアップしようとしています。残念ながら、URL の疑問符記号をエスケープすることができず、本当にここで立ち往生しています。考えられる解決策をウェブ上で検索しましたが、残念ながら適切な方法が見つかりませんでした。

ただの説明:

挿入されたコードは次のようなものです。

< iframe src=http://test.com/index.html?i=23123>< /iframe>

私はプロではないことに注意してください。あなたの助けが必要な理由があります!

コードをクリアする私の方法は次のとおりです。

sed -i '/< iframe src=http:\/\/test.com\/index.html\?i=23123>/,/< \/iframe>/d' index.html

残念ながら、それは他のすべてと同様に役に立ちませんでした。

すべての助けに感謝します。

4

1 に答える 1

0
echo "< iframe src=http://test.com/index.html?i=23123>< /iframe>" \
| sed 's@< iframe src=http://test.com/index.html?i=23123>< /iframe>@@'

出力は生成されません。これは、問題の文字列を正常に削除していることを意味します。

ほとんどの sed は代替の正規表現置換文字を受け入れることに注意してください。ここでは、検索対象に s@がないため使用しています。@一部の sed では、「代替を使用している」と伝え、 のように char をエスケープする必要がありs\@.....@@ます。

を引用しようとする試みが失敗する理由がわかりません?。試してみましたか[?](最悪の場合) [\?]. ここで言及していないシェルによる第 2 レベルの評価はありますか? 私の簡単な例も失敗しますか?

他の人が確かに言うように、あなたのアプローチは厳密には応急処置であり、システムのセキュリティホールが何であるかを把握して修正する必要があります. ページが再び破損します。:-(

IHTH

于 2013-06-14T14:44:23.267 に答える