2011-06-24 15 views
4

PHPでWebアプリケーションを構築しようとしています。フォームからデータを送受信するためのGETメソッドとPOSTメソッドの代替方法

しかし、私はGET & POSTメソッドを使いたいと思います。ユーザーは、HTMLの終わりを見れば、何をどのように送信するのか知っているはずです。もちろん、私たちはいつもデータを消毒することができますが、私は自分自身にデータのフォーマットを保存したいと思います。

データの種類や形式が明らかにされないように...

は、URLで何かを行うことができます上記の代替があります。私はこの点でmodのリライトに関連するものを見ました。

正しい軌道にいるかどうかを提案して教えてください。

+0

これらは主な方法であり、他の方法は同じ方法の変形です。 – Ibu

+2

HTTPリクエストGET/POSTに関してHTTP 1.1仕様を読む必要があります。私はあなたにいくつかの基本的な知識がないと思います。 – FinalForm

+1

あなたは正しい軌道に乗っています:) – k102

答えて

1

、することができますが、それは文句を言わないあなたの目標達成が、あなたが好きなものを実行します。

PUT/SEARCHを/ RESTfulなインターフェースのすべての概念DELETEです

あなたが本発明であることを望んでいたなら... HIDEFROMUSERと呼ばれる新しいものを作成し、ヘッダにこれを受け入れるためにあなたのウェブサーバとPHPスクリプトを設定します。いないすべてのブラウザは文句を言わない、これをサポートしている場合、ほとんどの、注意してください、しかし、jqueryのAJAX呼び出しは、必要があります...最後に

header('Allow: GET, HEAD, POST, DELETE, HIDEFROMUSER', true, 405); 

$accept = $_SERVER['HTTP_ACCEPT']; 
// does $accept equal one of your allowed methods? 

$yourHiddenWayOfDoingThings = fopen('php://input', 'r');

人々はまだそれがとあなたの作品場合は、をやっているかを確認しますあなたの期待を達成していません...

2

あなたは正しいトラックにいません。

データが送信される方法を実際に隠すことはできません。なぜなら、ブラウザは何とか知っていなければならず、わかっていれば侵入者が知っているからです。通常と同じようにGETとPOSTを使用し、ユーザーデータをフィルタリングして消毒します。それはあなたができる最高です。

URLを変更することもできますが、ブラウザにはまだ侵入者がいますので、侵入者も同様です。

もっと安全なものをお探しなら、HTTPSが良い選択と思われます。

2

GETとPOSTだけが選択肢です。さらに、あなたのスクリプトは、セキュリティ上どのように動作するかをユーザーが知らないことに依存すべきではありません。つまり、ロックされていないかどうかを確認するためにランダムなドアを開けないようにしてください。あいまいさによるセキュリティは失敗することになる。

+2

+1のセキュリティは、あくまでも方法ではありません(または、確かに始めるべきことではない、何人かは追加層として追加できると言います - それは無益です)。 – kapa

+1

私の言ったように、私の類推は、ドアはほとんどの人がランダムにドアを試して回っていないという理由でロックされていません。 – GordonM

+0

私はセキュリティのためにデータの消毒が必要であることに同意します、私はフロントエンドのデータも隠したいと思っていました。 – chetan1507

0

私が提供することができるのは、フラッシュ/シルバーライトやJavaを使用している場合など、HTMLを隠すことだけです。ユーザーはフォームのフィールド名、処理ページの宛先などもアクセスできません。必要に応じて何らかのデータ操作を行ってデータを送信し、もう一方の端で操作を元に戻して解析しますが、解析されないものは誰でもネットワークデータをスヌープして十分な時間を過ごすあなたがそれを操作する方法を外してください。いくつかの点で他の人がここに入れていることに反して

+0

あなたが提供している方法は、このデータを使って何かを行うことができない人(彼らがそれを得ることができた場合)にしか保護しません。 – kapa

+0

私は知っている、それはウェブの仕方である。 – BugFinder

+1

FlashとJavaは、パケットスニッファとデコンパイラが存在するため、問題を解決することはできず、アクセシビリティの障害を導入します。 – GordonM

関連する問題