2017-06-26 12 views
1

私はウェブ開発の初心者です。<map>エリアにPOSTメソッドの変数を渡しますか?

私は現在マップされた画像を持っているウェブページ上で作業しています。私はコードの断片を投稿するので、私が何を話しているか知っています。

<AREA SHAPE=POLYGON HREF='front.php?area=104' ALT="104" TARGET="_self" COORDS="47,205, 78,237, 93,222, 63,190, 47,205"> 

ご覧のとおり、私はGETメソッドで必要な変数を渡しています。 私はPOSTメソッドに変更したいと思っています。より安全だと思っています。私は、そのマップから取得する変数を使用してMySQLデータベースに対してクエリを行うつもりです。 (GETは、URLを調整するだけで簡単に改ざんすることができますか?)

私は自分自身をgoogled、私は同様にstackoverflowで検索しましたが、私は同様のものを見つけることができませんでした。私はこれをHTML、PHP、MySQLでのみ行うようにしています。私はJavaやAjaxに精通していません。その解決策が必要な場合は、詳細を使用してください。

ありがとうございます!

+0

"(GETはURLを調整するだけで簡単に改ざんすることができますか?)" - Postは安全ではありません。とにかくユーザーの入力を処理しているからです。 SQLインジェクションとその防止方法については、http://bobby-tables.comを参照してください。 html形式(通常はユーザーが行う)を投稿する場合に限り、データを投稿することができます。 GETはあなたのための正しいアプローチです、あなたは準備されたステートメントを使用する必要があり、すべては問題ありません;) – Twinfriends

+0

素早く答えてくれてありがとう! これで十分ですか? $ myusername = htmlspecialchars($ myusername); $ myusername = stripslashes($ myusername); $ myusername = mysqli_real_escape_string($ dbh、$ myusername); 私はこれらの準備文を私のログインフォームによく使用します。彼らは十分ですか? –

+0

いいえ、あなたは本当に準備されたステートメントを使うべきです。単にgoogleのために、彼らはどのように動作するのかについて多くの例を見つけるでしょう。別の質問:あなたのデータベースにパスワードを平文で保存するのですか、それとも前にハッシュするのですか?それはまた、本当に重要な部分です。 – Twinfriends

答えて

0

このタスクにはJQueryを使用できます。セキュリティのため

$(".some-class").on("click", function(e) { 
 
    // disabling default event handler 
 
    e.preventDefault(); 
 
    var data = $(this).attr("ALT"); 
 
    $.ajax({ 
 
    method: "POST", 
 
    data: data, 
 
    url: "your-url.php", 
 
    ... 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<AREA CLASS="some-class" SHAPE=POLYGON HREF='#' ALT="104" TARGET="_self" COORDS="47,205, 78,237, 93,222, 63,190, 47,205">

、あなたも、あなたがページ上のいくつかの隠しフィールドに置き換えれる、秘密鍵(トークン)を使用する必要があります。キーは、各ユーザーセッションごとにランダムに生成する必要があります。ユーザーがデータを送信するときは、ユーザーが渡したキーが同じかどうかを確認する必要があります。 Googleの詳細:csrfトークン防御。

+1

ありがとうございます。私がTwinfriendsと会話した後、私はGETメソッドを保持します。しかし、あなたの答えはかなり単純であり、要点はもちろん、私はそれを私の質問を解決するものとして受け入れます。私は将来を考えています。 もう一度おねがいします! –

+0

@StathisGer。しかし、私は自分の答えを更新しました。最後の段落でサーバーを保護するための方法について読むことができます。データを保護する最善の方法は、POST + TOKENを使用することです。 –

+0

私はそれを見ました!私はそれを考慮した。 :) –

関連する問題