Я пытаюсь отправить некоторые данные с сервера (A) на сервер (B) через cURL, а затем помещаю эти данные в базу данных или удаляю из них, в зависимости от случая. Дело в том, что я хочу защитить его и быть уверенным, что не каждый может поместить в базу данных все, что захочет, путем доступа к серверу (B). Итак, я добавил хеш с другими данными:
<?php
$url = "https://serverB/test.php";
$hash = hash('sha512','UPbztBfJEY7FjDjUZ7kd');//Don't mind the sha512 instead of bcrypt, both my servers aren't working with bcrypt.
$fields = array(
'ref' => 'toasty',
'name' => 'toasta'
'hash'=> $hash
);
$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_exec($ch);
?>
И затем мы проверим это на другом сервере:
<?php
$hash=(array_key_exists('hash',$_POST))?$_POST['hash']:'';
if($hash==hash('sha512','UPbztBfJEY7FjDjUZ7kd')){
//Insert the data into the database
}
?>
Но действительно ли это безопасно? Если кто-то может прочитать то, что я отправляю, даже если $hash
хорошо хеширован, он действительно может просто отправить все, что захочет, просто набрав хешированный пароль, поскольку проверка будет работать.
этого достаточно? Как я могу сделать лучше?
Не стесняйтесь спрашивать меня о дополнительной информации, которую я бы пропустил, спасибо!