0

最後に商品が表示されないようにURLを変更する方法なのかと思っていidました。このようにして誰かが pid を変更でき、その pid がデータベースにある場合は別のページにリダイレクトされる可能性があるためです。

<a href="<?php fetchdir($apages) ?>item.php?pid=<?php echo $row['pid']; ?>">View</a>

http://WWW.testexample.x10.mx/item/item.php?pid=2

4

1 に答える 1

0

次のいずれかを実行できます。

1) href クリックで投稿してから、サーバー側の $_POST から pid にアクセスします。

2) pid 値に対して base64 またはカスタム暗号化を実行します (1) と組み合わせることができます)

3)ビジネス側で手動のpid変更を処理するので、問題はありません。必要に応じて、彼らに任せてください。

私はオプション 2) に行きますが、ここではオプション 1) の例を示します

        <html><body id="body"><script> function postData(val) {
        var frm = document.createElement("form")
        frm.action="/data.php";
        frm.method="post";

        var input=document.createElement("input")
        input.name="pid";
        input.value = val; 
        input.type = "hidden";

        frm.appendChild(input);

        var body= document.getElementById("body");
        body.appendChild(frm);
        frm.submit();
    } </script><a href="javascript:void(0)" onclick="postData(<?php echo $pid; ?>)">View</a></body></html>

これは、base64 エンコーディングを使用したオプション 2 の例です。

<a href="<?php fetchdir($apages) ?>item.php?pid=<?php echo base64_encode($row['pid']); ?>">View</a>

そしてitem.phpで:

$pid=base64_decode($_GET['pid']);
于 2013-06-24T22:07:42.353 に答える