夜の歌

プログラミング、音楽、本について緩く書いていきます。

今日の途中経過

ちょっと実験でSNSを作ってて、投稿したコメントをDBに保存するコードを書いている途中。 そのコード。

<?php

if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) ||
    $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest'
) {
    header("HTTP/1.0 404 Not Found");
    die(json_encode(array('status' => "不正なアクセスです。")));
}

require_once('database.php');

$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

$user_id = $_POST['user_id'];
$comment = $_POST['comment'];

$query = "insert into tweets(user_id,comment)value ('$user_id','$comment')";

$data = mysqli_query($dbc, $query);

if (mysqli_connect_errno() === 0) {
    header("HTTP/1.1 200 OK");
    exit;
} else {
    header('HTTP/1.1 500 Internal Server Error');
    exit;
}
?>



最初のコード

<?php
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) ||
    $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest'
) {
    header("HTTP/1.0 404 Not Found");
    die(json_encode(array('status' => "不正なアクセスです。")));
}

は、「PHP逆引きレシピ」を参考に、ブラウザから直接URLにアクセスしてきたのを防ぐ。

PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)

PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)

まだ、セキュリティの対策をしてないので、途中だけど、時間がきたので今日は終了。