web-dev-qa-db-ja.com

アンカーを使用してフォームを送信しても安全ですか?

アンカータグを使用してフォームを送信することは非常に安全ではないことをどこかで読んだことがあるので、それが私の質問です。<button>または<input type="submit" />フォームを送信するには?そうでない場合は、why?問題は、ボタンのCSSクラスがあり、<a class="button">、しかし実際のボタンに追加すると、私が欲しくない奇妙な境界線が追加されます。

ありがとう

31
ItsGreg

アンカーを使用してフォームを送信するには、JavaScriptを使用してイベントをフックする必要があります。ユーザーのJavaScriptが無効になっている場合、フォームを送信できないという点で安全ではありません。例えば:

<form id="form1" action="" method="post">
    <a href="#" onclick="document.getElementById('form1').submit();">Submit!</a>
</form>

ご希望の場合は、<button>

<button type="submit">Submit!</button>

または、私たち全員が知っていることに固執する:

<input type="submit" value="Submit!" />

3つすべてをスタイルできますが、後者の2つはJavaScriptを必要としません。境界線の問題がある場合は、おそらくどこかでCSSを変更する必要があるだけです。

59
Cᴏʀʏ
<!-- add the anchor token at the end of your action statement -->

<form method='post' action='this_page.php?put_peram=token#anchor_name'>
<input type='submit' value='click here'>

<!-- put the anchor right above where you want the page to  index -->

<a name="anchor_name></a>
2
joshua bissot

アクションのJavaScriptを避けるようにしてください。常に送信ボタンを使用します。一部のユーザーは、セキュリティ上の理由からjavascriptを無効にしている場合があります。

値の送信にjavascriptを使用する場合でも、_<html>_タグを記述する前に以下の行を追加します。

<!-- saved from url=(0014)about:internet--> <html>

1
user3738184