ajaxでブラウザからアクセス不可にするにはこうすればいいのか
- 受け取る側
<?php try { if (($_SERVER['HTTP_X_REQUESTED_WITH'] ?? '') !== 'XMLHttpRequest') { throw new Exception("ブラウザからアクセスきんし\n"); } switch ($_GET['id']) { case 1: echo "田中"; break; default: echo "なし"; break; } }catch(Exception $e){ exit($e->getMessage()); }
- 送る側
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <label>ID:<input type="number" name="name" value=""></label> <input type="button" value="送信"> <p>名前:<span></span></p> <script src="//code.jquery.com/jquery-3.1.1.min.js"></script> <script> $(function() { $("[type=button]").on("click", function() { $.get("sample.php", { id : $("[type=number]").val() }, function(data) { $("span").text(data); }); }); }); </script> </body> </html>
でもcurl使えばアクセスできてしまうという