ちょっと、データベースを検索するためのウェブページがあります。私はPythonを使用してクッキーを実装して、ユーザーが何を検索するのかを保存し、戻ったときに最近検索されたフィールドを提供できるようにしたいと考えています。 Python Cookieライブラリを使用してこれを実装する方法はありますか?Pythonでクッキーを使って検索を保存する
答えて
通常、次の操作を行います。
フレームワークを使用します。
セッションを確立します。理想的には、ある種のユーザー名を要求してください。名前や何かを尋ねたくない場合は、ブラウザのIPアドレスをセッションのキーとして試してみてください(これは悪夢に変わりますが、試してみてください)。
セッションの使用ID(ユーザ名またはIPアドレス)を入力して、サーバ上のデータベースに検索結果を保存します。
ユーザーが再度ログインすると、ローカルデータベースからクエリ情報を取得します。
ストーリーのモラル。クッキーにはセッションID以外は何も持たないと信じてはいけません。そしてそれでも、それは意図的にまたは偶発的にハイジャックされるでしょう。
意図的ハイジャックは、1人が別のものとしてポーズする方法です。
複数の人が(同じコンピュータを共有しているため)複数の人が同じIPアドレスを共有すると、事故ハイジャックが発生します。
偶発的なハイジャックに関する注意を除き、同意。同じIPを共有する(すなわち、プロキシ/ NATを介して)ユーザは、誤って互いを乗っ取ることはできません。 Cookieはすべてのhttp要求とともに送信されます.IPアドレスが問題になる唯一の方法は、応答を処理するアプリケーション内に存在します。 – Andru
クッキーを使用するには、あなたのフレームワークが使用しているクッキー用のAPIを使用できます。
ここには、あなたが望むことを実行し、検索結果を保存し、後で提供するための完全な実例が掲載されています(CherryPy)。
import cherrypy
import json
class Root(object):
def index(self):
last_search = cherrypy.request.cookie.get('terms', None)
if last_search:
last_search = ','.join(json.loads(last_search.value))
else:
last_search = 'None'
return """
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Search</title>
</head>
<body>
<h1>Search</h1>
<form action="do_search" method="get">
<p>Please type your search terms:
<input type="text" name="query" /></p>
<p>Hint: Last 5 used terms: %s</p>
<p><input type="submit" value="Search →" /></p>
</form>
</body>
""" % (last_search,)
index.exposed = True
def do_search(self, query):
results = ['some', 'results', 'here', 'simulating', 'a', 'search']
print cherrypy.request.cookie
last_search = cherrypy.request.cookie.get('terms', None)
if last_search:
last_search = json.loads(last_search.value)[-4:] # get last 4
else:
last_search = []
last_search.append(query) # append new term
cherrypy.response.cookie['terms'] = json.dumps(last_search)
return """
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Search</title>
</head>
<body>
<h1>Search Results for %r</h1>
<p>%s</p>
<p><a href="%s">click here to search again</a>
</p>
</body>
""" % (query, ', '.join(results), cherrypy.url('/'))
do_search.exposed = True
application = cherrypy.tree.mount(Root(), '/')
if __name__ == '__main__':
cherrypy.quickstart()
NOTES:
それはリストをシリアル化し、文字列としてクッキーに保存するjson
を使用しています。 Python json
はPython 2.6で導入されました。2.6より前に必要な場合は、代わりにsimplejson
を使用して2.6を使用してください。
コード内のHTMLについては申し訳ありません。理想的には、jinja2のようなテンプレートエンジンを使用して、テンプレートファイル内のコード外にあることになります。
- 1. document.cookieを使ってXUL経由でクッキーを保存する
- 2. 最近の検索をクッキーに保存する
- 3. PHPを使ってクッキーにデータを保存するには?
- 4. オーディオファイルを保存して検索する
- 5. PHP/JSでクッキーを使って投票を保存する方法
- 6. Netsuite SuiteTalkで「保存済み検索」の検索タイプの保存済み検索を実行するには
- 7. SoCoを使ってSonos Music LibraryをPythonで検索する
- 8. MorphiaとMongodbを使ったマップの保存と検索
- 9. Pythonの検索結果を変数に保存し、その要素を使って作業する
- 10. クッキーを使って日記を保存して表示するJS
- 11. クッキーを保存する
- 12. "google" "bing" "yahoo"でpythonを使って検索する方法は?
- 13. Pythonリクエスト - 後でurlを使用するためにクッキーを保存する
- 14. pythonでpydoopを使ってgzipファイルを保存する
- 15. Pythonを使ってTkinterで例外を保存する
- 16. JWTをクッキーとして保存する
- 17. coldfusionでクッキーを検索するには?
- 18. MVC 4:前のページに戻って検索結果を保存
- 19. Mongooseで保存して検索
- 20. searchBarから検索を保存する
- 21. クッキーを使ってページの状態を保存する方法は?
- 22. 検索バーに検索語を保存する方法は?
- 23. Python Re:正規表現を使ってリストを検索する
- 24. RestSharpでクッキーを保存する
- 25. django + pythonを使った検索フォーム
- 26. Javascriptを使用してクッキーを作成/保存する
- 27. ETagを使用してクッキー情報をブローワーに保存する
- 28. javascriptを使用してブラウザにクッキーを保存するには
- 29. jqueryクッキーを使用してwebshopプロダクトIDを保存する
- 30. jqueryクッキーを使用してGoogle状態を保存する
はい。どのWebフレームワークを使用していますか? – nosklo