2017-02-08 4 views
-1

URLを作成するための簡単なフォームがあります。送信アクションの際にURLにユーザーを持ち込みます。URLを作成するフォーム入力からHTML(またはその他)を取り除く方法

<form method="get" class="searchform" action="/srch"> 
    <label for="s" class="assistive-text"><?php _e('Search'); ?>:</label> 
    <input type="text" class="field" name="fwp_general_search" id="s" title="Search Field" placeholder="Enter Terms Here..." /> 
    <input type="submit" class="submit" id="searchsubmit" title="Search Button" value="Search" /> 
</form> 

これはうまく動作し、ユーザーを意図したとおりにURLに誘導します。

しかし、いくつかの脆弱性を防ぐため、そのテキストフィールドに挿入できるHTMLや他のタグを取り除きたいと思っています。その入力からタグを取り除くにはどうすればよいですか?

+1

ええと、http://php.net/manual/en/function.strip-tags.php –

+0

としてURLの検証を支援するための機能を持っています。 –

答えて

1

バックエンドの入力によって何が行われるかによって異なります。データベースと一緒に使用している場合は、SQLインジェクションを防ぐためにプリペアドステートメントを調べて、ユーザに入力を表示している場合は、htmlspecialchars()などの関数を使用してエスケープして出力を確保したい場合は、 strip_tags()などが挙げられる。

PHPも少し検索を傷つけることはありません、このようなhttps://secure.php.net/manual/en/filter.filters.validate.php

+0

私はstrip_tagsのような関数を使いたいですが、フィールドの周りにその関数を置きますか?私はデータベースでそれを使用していません - ちょうどURLを作成します。 –

+0

$ _POSTデータを収集するPHPファイルで使用します。これは、フォームのアクション属性が指すPHPファイルです。 –

+0

ああ - はい。理想的には、作成されたURLに入る前にテキストを消毒する必要があります。このフォームはURLを作成し、送信ボタンが押されたときにそのURLにユーザーを送ります。例: https://example.com/srch/

関連する問題