これがあらゆる種類の悪い形であることはわかっていますが、これが機能するかどうかについて興味があります.
私は SQL について何も知らない完全に絶望的なケースだとしましょう。そのため、通常はすべてのデータを .txt ファイルとして保存します (悲しいことに、少し前まではそうでした)。
誰かがこれらの .txt ファイルの 1 つの URL に出くわした場合、(明らかに) その中のすべてのデータを見ることができることを私は知っています。だから私は、「データを PHP スクリプト/ファイル内に保存したらどうなるでしょうか? そうすれば、サーバーがそれを PHP として実行するため、誰かがそのデータに出くわしても、空白のページが表示されるだけです。」 と思います。
保存したい超機密データの配列は次のとおりです。
$myArray = array("apple","orange","banana");
私はこの配列を取り、これを行います:
file_put_contents("data.php", "<?php \$var=\"" . htmlentities(json_encode($myArray)) . "\"; ?>");
その結果、1 行のコードを含む「data.php」というファイルが作成されます。
<?php $var="["apple","orange","banana"]"; ?>
このファイルは外部ユーザーには見えません。これは有効な PHP コードであり、サーバーはそれをそのまま実行しますが、変数を宣言するだけです。
ただし、次のようにすることで、別のファイルから data.php に記録されたデータにアクセスできます。
$importVar = htmlentities(file_get_contents("data.php"));
$importVarBeg = 20;
$importVarEnd = 13;
$importVar = html_entity_decode(substr($importVar, $importVarBeg, strlen($importVar) - ($importVarBeg + $importVarEnd)));
$importVarArray = json_decode(html_entity_decode($importVar));
これ$importVarArray
で、私のオリジナルの超機密データ配列が含まれるようになりました。
繰り返しますが、これが本当にばかげた方法であることはわかっていますが、ばかげたことはさておき、外部ユーザーが完全にアクセスできないようにデータを保存する実行可能な方法は実際にありますか?
編集:「外部ユーザー」を明確にする - 私のウェブサイトにアクセスする人。サーバーを使用しているのは私だけだとしましょう。