スクリプトが2つあります。それは:
- Registration.html
- process_registration.php
誰かがprocess_registration.phpへのリンクを直接開くことがありますが、どうすればそれを防ぐことができますか?
Process_registration.php関数は、registration.htmlからの入力から取得したデータを保存するためのものです。
何か案が ?
スクリプトが2つあります。それは:
誰かがprocess_registration.phpへのリンクを直接開くことがありますが、どうすればそれを防ぐことができますか?
Process_registration.php関数は、registration.htmlからの入力から取得したデータを保存するためのものです。
何か案が ?
別の方法:
if (empty($_POST)) {
exit("Direct access not allowed");
}
オブジェクト名をより柔軟に使用できます。セキュリティを強化するために、これをフォームに入れる必要があります。
<input type="hidden" value="9957374" name="hiddenvalidate" />
そしてあなたのスクリプトで:
if (!isset($_POST['hiddenvalidate']) || $_POST['hiddenvalidate'] != 9957374) {
exit("Direct access not allowed");
}
$_POST
次のように、process_registration.php で配列を使用できます。
if(!isset($_POST['yourvariable'])){
//Redirect to registration page
}
PHP セッションを使用することもできます。セッションが設定されていない場合は、ユーザーを登録ページにリダイレクトします。
Joomla
この問題を処理する方法が気に入っています。
Joomla のすべての php ページで、次のコードが表示されます。
// No direct access
defined('_JEXEC') or die; // it's a config setting
トップレベルのページだけにこの変数が含まれています。他のすべてのファイルを直接開いた場合は閉じるため、偶発的な誤用やデータの損失を防ぐことができます。
現在のリクエストが POST タイプかどうかを確認できます (フォームを使用している場合)。
if($_SERVER['REQUEST_METHOD'] == 'POST')
また、必要な変数がすべて設定されているかどうかを確認することもできます。