2012-03-21 8 views
1

APIに記載されている変数cherrypy.request.paramsには、クエリ文字列とPOST変数が辞書に含まれています。しかし、これをうまく組み合わせると、GETデータを取得するために完全な要求URIを処理した後に受け取ったすべての変数が含まれているようです。これは辞書のPOSTデータと区別がつかなくなります。 違いを伝える方法がないように思えるかもしれません。あるいは、おそらく私は間違っています。CherrypyでPOSTとGETで受信したデータを区別する

純粋に投稿されたデータを使用する方法と、リクエストURI以外のクエリ文字列のデータを無視する方法について教えてください。はい、私はそれがPOSTかGETリクエストかどうかを知ることができますが、これはPOSTリクエストでGETデータを含むURIへのリクエストで偽造を停止しません。

>http://localhost:8080/testURL/part2?test=1 
>POST username = test 

"cherrypy.request.params" has 2 variables 
test = 1 
username=test 
+0

リクエストがPOSTを使用していることを確認する限り、リスクは全くありません。悪意のあるアプリケーションがフォームのクエリ文字列/ urlを変更できる場合は、入力されたデータを簡単に入力することもできます。しかし、POSTを必要とするだけでは、アプリケーションをCSRFから保護するだけでは不十分です。悪意のあるサイトは隠されたフォームを作成し、JavaScript経由で非表示のiframeに送信することができます。 – ThiefMaster

答えて

関連する問題