2016-07-21 4 views
-2

私はただ一つのページから別のページに変数を渡すgetメソッドとpostメソッド以外の方法があることを知りたいだけです。私はセッション方法があることを知っているが、私はそれを望んでいない。 もう一つの疑問はセッションが安全かどうかです。彼らの多くは、セッションが安全でないことを示唆しています。それは信頼できるかどうか?いつセッションを使用するのか? login1.phpphpにgetとpost以外の変数を渡す方法はありますか?

<!doctype html> 
<html> 
<body> 
<form name="login_form" method="post" id="frmLoginAdmin"   action="login2.php"> 
<input type="hidden" value="abcd" name="abcda"> 
<input type="submit"> 
</form> 
</body> 
</html> 

login2.php

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 
</head> 

<body onLoad="auto();"> 
<form action="login1.php" method="POST" name="myform"> 
<input type="hidden" value="<?php echo $_POST['abcda']; ?>" name="you know"> 
<input type="hidden" value="somevalue" name="what todo here"> 
<input type="hidden" value="somevalue" name="so do it"> 
<input type="hidden" value="somevalue" name="ok"> 
</form> 
</body> 
</html> 
<script> 
function auto() { 
    document.myform.submit(); 
} 
</script> 

これが条件です。まず、値をlogin1.phpに渡すgetメソッドを使用しました。しかし、私は現在、ユーザーにどの変数がパスであるかを見せたくありません。だから私は上記の方法を使用しますが、それは最初にリダイレクトするlogin2.phpには、ユーザーの秒数分の1の空のページを示し、それだけがlogin1.phpにリダイレクトされます。これは私の問題thats私は他の代替メソッド可変渡す

+2

はい他のHTTPメソッド、例えば 'PUT'、' PATCH'または 'DELETE'があります – Daan

+1

セッションは投稿よりも安全性が高く、彼らはサーバー側だからです。 – Andrew

+0

"セッションメソッドがあるのは知っていますが、それは必要ありません"。何故なの?みんなが一般的に使うものの代替案を求めているのなら、それがあなたのニーズに合わない理由を説明する必要があります。 – iainn

答えて

-1

セッション:

セッションは、サーバ上に格納され、ユーザ(クライアント)によってアクセスすることができません。ログインセッションなど、サイト全体に情報を格納するために使用されます。サーバ側で情報を格納し、異なるPHPスクリプト間を渡すために使用することができます

セッションは、サーバ側のスクリプト言語が使用されている可能性がある、PHPSESSIDのような識別のためのセッションクッキーを作成します。明らかにする。明らかにしないために、このクッキー名をPHPから変更することができます。また、そのクッキーを盗むことによって、誰かがセッションをハイジャックする可能性があります。したがって、セッションを検証してセッションを正しく使用する必要があります。セッションの検証が完了したら、ハイジャックを防ぎ、安全に使用することができます。セキュアな使用のための

安全にセッションを使用するには、セッションが検証され、ハイジャックされるのを防止することができる方法を示して、このブログに従うことができます。

http://blog.teamtreehouse.com/how-to-create-bulletproof-sessions

+0

安全なチュートリアル' $ https = isset $ secure)? $ secure:isset($ _ SERVER ['HTTPS']); 'はちょっと間違っています。 – PeeHaa

+0

しかし、私が見せたいのは、セッションがハイジャックされたかどうかを確認するために、セッションに格納されたIPとユーザーのIPをチェックすることでした。 –

0

(すでに述べたようにHTTPが、可能にするものを除く)HTTPを持つ他の方法はありません。

しかし、FTPのようにサーバーからサーバーにデータを転送する方法は多数あり、直接ソケット接続を確立する方法もあります。あなたは、このような追加的な方法を設定/インストールし、そうでないかもしれないだけで、サーバー上で必要になります

注意(ファイアウォールを介した通信のために、あなたはまた、使用するポートを許可する必要があります)

0

あなたが暗号化されたクッキーを使用することがあります: https://packagist.org/packages/illuminate/cookieにエンコードされたキーを格納します。その解読された鍵に基づいて、データベース+ Memcache層から保存して読み込むことができます

関連する問題