0

JavaScript でこの php にアクセスする必要があります。私はこのphpを非常に多くの方法で安全にアクセスできます:自分のIPのみ、ドメインのみ、直接アクセスは許可されず、htaccessによって保護され、これを保護する他の多くの方法を知っています.

そして今、私はこの JavaScript を手に入れました。この JavaScript にアクセスして、私のデータベースからデータを取得できます。そして、モンスターのようにそれを行うことができます... ボットを配置して #input1 を送信し、すべてのデータを取得できます。

私は 14 時間以上解決策を見つけようとしましたが、多くの投稿やサイトを読みましたが、うまくいきませんでした。ありえない。オーマイゴッド、これは可能ですか?

ここに私のコードの一部: JavaScript

$.getScript("http://www.domain.com/getdata.php?data="+$("#input1").val(), function(){
    if (resultData["field2"] != '') {
        $("#input2").val(unescape(resultData["field2"]));
        $("#input3").val(unescape(resultData["field3"]));
    }   
});

そしてPHP

header('content-type: application/json; charset: utf-8');

// here my get mysql connection and query.... where field1 = #input1

if ($row = mysql_fetch_assoc($res)) {
    echo "var resultData = {
        'field2'    : '" . $row['field2'] . "',
        'field3'    : '" . $row['field3'] . "',
    }";
}

これに対する解決策がないとは思いません!これを守ろうとして一日を失った!

これを保護する必要があるのは、私の Web サイトを閲覧しているユーザーに対してのみです。おそらくドメインごと、またはリクエストごとに =/

ありえない!

4

3 に答える 3

1

通常の Web ページでセッション変数を設定し、データを返す前に getdata.php スクリプトでセッション変数をチェックします。

于 2013-07-19T03:46:34.803 に答える
0

ぐっすり眠った後、私の脳はよりよく考えることができます!そして、JavaScriptのURLにいくつかのmd5コードを渡すと思います。そして、私はそれを見つけました:

ルモレロのおかげで

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ それは...ですか!

js を呼び出すソース ファイル:

$secret ="ABC1232";

$item = array(
  "time"=>time(),
  "token_id"=>"<page_url>"
);

$signed = base64_encode(hash_hmac("sha256",json_encode($item),$secret));
$item = base64_encode(json_encode($item));

$ajax_url = "myscript.php?signed=$signed&item=$item";

私の場合、これを使用します:

getdata.php?signed=<? echo php $signed ?>&amp;item<?php echo $item ?>&amp;data="+$("#input1").val()

あなたのmysqlまたは他のものに接続するphpファイルで:

$item = json_decode(base64_decode($_REQUEST["item"]));

$timeout = 3600;

if($item->time < (time()-$timeout)){
  die("Invalid token - timeout");
}

if($item->token_id !== "<page_url>"){
  die("Invalid token - page url");
}

$secret ="ABC1232";
$valid = ($_REQUEST["signed"] === base64_encode(hash_hmac("sha256",json_encode($item),$secret));

if(!$valid){
  die("Invalid token");
}

私はテストしていませんが、モンスターのように動作することは確かです =)

大きな解決策は... このような問題を抱えているときは、コンピューターから離れて頭を働かせて考えてみてください。そして、これは解決策です:

javascript の URL で何かを渡します。それを安全にする方法はたくさんあります。

さて、私はGETの代わりにPOSTを使用するために何かをしようとしています=)

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

于 2013-07-19T14:55:23.577 に答える