2

正常に動作するphpフォームプロセッサスクリプトを使用しています。ユーザーが複数行のテキストフィールドにテキストを送信する場合を除いて、渡される結果の文字列変数から改行または新しい行が削除されます。これにより、フォームの結果を受け取った人は誰でも読めなくなることがよくあります。

私はPHPの専門家ではありませんが、答えは文字を削除するコードにあると確信しています。私が確信していないのは、文字を削除するのをやめた場合、これはセキュリティリスクにつながるのでしょうか?

ストリップ配列は次のようになります。

array('*', '|', '>', '<', '/', '\\\', '\"', 'Bcc', 'BCC', 'bcc');

改行を保持するためにここで何を変更できますか?

助けてくれてありがとう。

4

3 に答える 3

1

レンダリング段階で問題があると思います。やってみました:

echo nl2br($text);

$ textは、あなたが話しているテキストです。

于 2009-07-02T14:14:22.390 に答える
1

改行はありません。

改行を表示するために、表示側で何もしていない可能性が高くなります。HTMLを出力しているのですが、HTMLにとって、改行は単なる空白です。を適用すると、おそらくメリットがありますnl2br()

于 2009-07-02T14:15:40.390 に答える
1

送信された文字列に問題がある場合は、送信された文字列に改行や改行文字が含まれていなかったことを意味します。

ある時、私はテキスト領域のwrap = "(hard | physical)"属性を調べました。この属性の一部の値は、textareaにユーザーテキストの改行を維持するように強制します。

送信されたテキストにnl2br($ text)を使用してみましたか。

于 2009-07-02T14:19:43.380 に答える