$ _GETに問題があり、自分のサイトのオーナーを認証しています。彼のプロフィールのユーザーを正当化する方法は?
<?php
session_start();
include('scripts/db_connect.php');
if(isset($_SESSION['id'])){
$url_auth = $_GET['id'];
}else{
echo "no user found";
exit();
}
$sql = "SELECT * FROM table WHERE id='".$url_auth."'";
$query = $db->query($sql);
if($query->num_rows !=1){
header("Location: index.php");
exit();
私は$ _GET IDを読み出すに問題がある:ユーザーIDがregistratedされているかどうか、チェックするためにこのコードを使用して
イム。何かが間違っているように見えます、なぜ私は知りません。誰かがブラウザ内の任意のidを呼び出しているときにユーザー登録を確認する別の方法がありますか?ありがとう。
このコードでは、 '$ _GET ['id']'には 'id'というセッション変数がないとチェックされません。それはあなたの意図ですか? – halfer
なぜセッションをチェックするのですか?しかし、$ _GETを使用しますか? –
ところで、あなたはここに大きなセキュリティホール、SQLインジェクションを持っています。代わりにこれを行います: '$ url_auth =(int)$ _GET ['id']'。 – halfer