Google App Engine for Python 6アプ目
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/01/19(土) 13:49:13.57ID:???http://code.google.com/appengine/
■過去スレ
Google App Engine
http://pc11.2ch.net/test/read.cgi/php/1207754942/
Google App Engine 2アプ目
http://pc11.2ch.net/test/read.cgi/php/1243654802/
Google AppEngine 3アプ目
http://hibari.2ch.net/test/read.cgi/php/1267057923/
Google App Engine 3アプ目 (実質4)
http://kohada.2ch.net/test/read.cgi/php/1267094290/
Google App Engine for Python 4アプ目 (実質5)
http://kohada.2ch.net/test/read.cgi/php/1302598469/
■リンク集
はてなブックマーク
http://b.hatena.ne.jp/t/gae
http://b.hatena.ne.jp/t/Google%20App%20Engine
Delicious
http://delicious.com/popular/gae
http://delicious.com/popular/googleappengine
■参考サイト
App Engine ギャラリー
http://appgallery.appspot.com/
ドキュメント
http://code.google.com/appengine/docs/python/overview.html
0237nobodyさん
2013/10/29(火) 00:51:54.97ID:???0238nobodyさん
2013/10/29(火) 10:40:18.27ID:y+BQMiVe課金のほとんどがフロントエンドインスタンスだったので
長くなる処理をフロントエンドで待たせるとインスタンスが必要になるので
jsonでページに結果を渡す仕様に変更して
時間のかかる処理をバックエンドにやらせて結果を通知してからダウンロードさせた
あとはDatastoreの結果を30秒キャッシュしたくらい
バックエンドでやらせた結果をblobでURL渡しにできたらもっと課金減らせると思う
0239nobodyさん
2013/10/29(火) 15:34:29.30ID:???エビデンスはない。
0240nobodyさん
2013/10/31(木) 08:04:00.27ID:gzKHVm+hその後何か変化あったでしょうか?
0242nobodyさん
2013/11/01(金) 06:52:03.38ID:???0243nobodyさん
2013/11/20(水) 20:13:46.56ID:???0244nobodyさん
2013/11/27(水) 23:09:45.71ID:???あの鬱陶しい、直リンもしないアップデート通知になんか情報乗っけとけよとは思う
0245nobodyさん
2013/11/28(木) 11:25:57.99ID:???AuthKitとか使えばいいのか?
0246nobodyさん
2013/11/28(木) 12:41:20.82ID:???http://webapp-improved.appspot.com/api/webapp2_extras/auth.html
sessionの実装は
http://webapp-improved.appspot.com/api/webapp2_extras/sessions.html
こっちベースで、デフォがCookieをストレージにする
気になる場合はsession_backendからDatastoreかmemcacheを
自前のAuthorizedHandlerとか作って使うのが楽
0247nobodyさん
2013/11/28(木) 12:44:19.94ID:???特に困った経験は無い
0248nobodyさん
2013/11/28(木) 15:04:51.40ID:???ありがとう!
0249nobodyさん
2013/11/29(金) 06:42:32.14ID:???公式リリース前に関係者にレビューしてもらいたいだけなんだが•••
0250nobodyさん
2013/11/29(金) 11:55:25.38ID:???webapp2だとこことかみたいに自前で書くしかないかな
関係者の規模や性質にもよるけど自分だったら
app.yamlで一時的に全体をlogin: adminにして
それを staging.***.appspot.com とかにアップ
アプリケーションのコンソールで相手のアカウント追加
こんな感じで済ませると思う
0251nobodyさん
2013/11/29(金) 13:01:02.55ID:???0252nobodyさん
2013/12/01(日) 05:31:06.02ID:???404ページをカスタマイズするにはどうしたら良いですか?
具体的には存在しないURLにアクセスしたらトップページにリダイレクトするだけでいいのですが。
0253nobodyさん
2013/12/01(日) 11:36:51.11ID:2jNrRIHkhttps://developers.google.com/appengine/docs/python/config/appconfig?hl=ja&csw=1#Custom_Error_Responses
0254252
2013/12/02(月) 00:20:22.53ID:???返信ありがとうございます。
app.yamlを下記のようにしましたがデフォルトの404ページが出ます。
application: ***
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /
static_files: htdocs/index.html
upload: /
- url: /
static_dir: htdocs
error_handlers:
- file: index.html
0255nobodyさん
2013/12/02(月) 10:00:10.51ID:lpvRac5ehtdocs/index.html
では?
0256252
2013/12/02(月) 20:52:47.15ID:???Deploy時に
Error 400: --- begin server output ---
Client Error (400)
The request is invalid for an unspecified reason.
--- end server output ---
がでてDeploy出来ません。
0257nobodyさん
2013/12/03(火) 10:44:02.83ID:+YtsDmGG404はハンドラの最後にそれ以外のすべてのURLを対象にして
- url: /.*
static_files: htdocs/index.htm
upload: htdocs/index.htm
0258252
2013/12/03(火) 14:03:55.56ID:???デフォルトの404が出ます。
- url: /
static_dir: htdocs
ですでにすべての下位URLに割り当てられているせいだと思います。
0259nobodyさん
2013/12/03(火) 14:43:21.25ID:+YtsDmGGこのサンプルはたぶん動くと思うよ
何が違うか考えてみよう
0260nobodyさん
2013/12/03(火) 15:20:43.44ID:???ttp://webapp-improved.appspot.com/guide/exceptions.html
0262nobodyさん
2013/12/03(火) 18:18:31.16ID:+YtsDmGGおお 便利だー
0263nobodyさん
2013/12/15(日) 23:45:35.51ID:???で、「文字入力」欄に日本語が入力されると、文字化けしませんか?
ローカル開発環境だと日本語が入力されても問題なく処理できるんですけど、本番環境だと文字化けするような・・・どうしよこれ。
0264nobodyさん
2013/12/16(月) 10:33:26.68ID:ohWcrgQx気がついたら食事に行く話になってた
細かい日程まで決めてないからこのままフェードアウトしよっと
0265nobodyさん
2013/12/16(月) 10:34:09.17ID:ohWcrgQx0266nobodyさん
2013/12/20(金) 00:43:32.73ID:???Google App Engine Launcherやコマンドプロンプトでdev_appserver.pyを直接動かしても起きるようです。
2013-12-20 00:35:58 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=8080', '--admin_port=8000', 'D:\\develop\\work\\python\\helloworld']"
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\dev_appserver.py", line 197, in <module>
_run_file(__file__, globals())
(中略)
File "C:\Python27\lib\mimetypes.py", line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 9: ordinal not in range(128)
2013-12-20 00:35:59 (Process exited with code 1)
0267nobodyさん
2013/12/20(金) 01:01:51.69ID:???0268nobodyさん
2013/12/20(金) 03:34:50.06ID:???ググればすぐに情報が見つかるよ。
レジストリのHKEY_CLASSES_ROOT\MIME\Database\Content Typeに
ASCII以外の文字を含むタイプ名が登録されていると例外が発生する。
QuickTimeがロシア語の名前を登録するのが原因らしい。
0269nobodyさん
2013/12/20(金) 19:51:47.04ID:???詳細な情報ありがとうございます。
Windows環境で発生するというのは見かけましたがそういうことだったんですね
一応Pythonのバージョンを2.7.5にすると動くことを確認しました。
レジストリの掃除はちょっとホネが折れそうなのでこれでしのぎます
0270nobodyさん
2014/01/01(水) 11:00:58.52ID:???重複登録の防止ってどうやってる?
いちいち全データを取得して被ってないかチェックしか思いつかない・・
0271nobodyさん
2014/01/06(月) 09:39:23.59ID:JOlxiE+j0272nobodyさん
2014/01/12(日) 01:31:59.89ID:q2C1gqcIRuns a development application server for an application.
dev_appserver.py [options] <application root>
Application root must be the path to the application to run in this server.
Must contain a valid app.yaml or app.yml file.
と先頭にダラダラと怒られます。どうすれば良いでしょうか?
0273272
2014/01/12(日) 01:35:30.43ID:q2C1gqcIGAEのは1.7.5
OSはWindows7
一応、この環境で学校のは動いたのですが、自分のが動かないです。
困ってるの教えてください。
0274nobodyさん
2014/01/12(日) 09:47:32.02ID:UltINpuSランチャかpydevの起動オプションチェックした?
0275272
2014/01/12(日) 12:11:56.31ID:q2C1gqcIランチャかpydevの起動オプションチェックするってどういうことですか?
(学校の同じ環境で、コマンドでオプション何もつけずに、うまく行ったんですけど)
0276nobodyさん
2014/01/12(日) 13:18:31.27ID:UltINpuS0277272
2014/01/12(日) 13:46:00.63ID:q2C1gqcIルートディレクトリが違うってどういう意味ですか?
0278nobodyさん
2014/01/12(日) 16:19:09.09ID:???何のために学費払ってんの
0279nobodyさん
2014/01/12(日) 16:31:49.98ID:???app.yamlがあるフォルダへ移動して
dev_appserver.py .
(半角ピリオド)
としてみたらどうだ?
あと、家のGAEバージョンは?
0280272
2014/01/12(日) 18:39:33.85ID:q2C1gqcI先生がギブアップしてしまった。
>>279
>>273に一通り書いたつもりだけど、GAEのバージョンは1.7.5です。
C:\Users\Y.Sato\Desktop\GAE>"C:\Program Files (x86)\Google\google_appengine\dev_
appserver.py" ae-00-testing
こんな感じでコマンド打ってます。
半角とピリオドつける場所、わかりません。。。
0281nobodyさん
2014/01/12(日) 20:08:03.28ID:???デスクトップのGAEフォルダの下に、
ae-00-testing というフォルダがあって、
そのフォルダ内にapp.yamlがあるの?
cd ae-00-testing してから
dev_appserver を叩いたらどう?
0282nobodyさん
2014/01/13(月) 01:04:26.66ID:???0283272
2014/01/13(月) 01:15:42.70ID:mgMypIex一つ目の質問は、そういうことです。
それだと、上手くいかないですね。
0284nobodyさん
2014/01/13(月) 10:19:55.25ID:3FBly2eIdir C:\Users\Y.Sato\Desktop\GAE
dir C:\Users\Y.Sato\Desktop\GAE\ae-00-testing
やって結果晒して
0285272
2014/01/13(月) 19:11:01.95ID:mgMypIex2013/12/17 16:26 <DIR> ..
2013/12/03 16:44 <DIR> ae-00-testing
2013/12/14 23:53 <DIR> ae-01-webapp
2013/12/17 16:24 839 ae-01-webapp.zip
2013/12/15 17:18 <DIR> ae-04-templates
2013/12/17 16:26 2,343 ae-04-templates.zip
2 個のファイル 3,182 バイト
5 個のディレクトリ 386,548,281,344 バイトの空き領域
2013/12/03 16:44 <DIR> .
2013/12/03 16:44 <DIR> ..
2013/12/31 13:59 110 app.yaml
2013/12/29 23:14 68 index.py
2 個のファイル 178 バイト
2 個のディレクトリ 386,547,691,520 バイトの空き領域
0286nobodyさん
2014/01/13(月) 19:16:55.30ID:???0287272
2014/01/13(月) 19:30:30.88ID:mgMypIexhttp://pastebin.com/ATwkAw3j
http://pastebin.com/1rCLz07B
http://pastebin.com/zh8Nh6ca
こんな便利なものがあるんですね(てか、一個目の有効期限neverにしてしまった)。
0288nobodyさん
2014/01/13(月) 19:40:17.19ID:???..\GAE>python "C:\Program Files (x86)\Google\google_appengine\dev_appserver.py" ae-00-testing
先頭に"python"をつけて実行してみて
0289272
2014/01/13(月) 20:27:14.38ID:mgMypIexいけました! ありがとうございます!
これ、学校の先生に報告したら、喜ばれる!
(でも、何が学校と違ったんでしょうか??)
0290288
2014/01/13(月) 21:22:34.44ID:???プロンプトでこれを実行して
>assoc .py
.py=ほにゃらら
みたいなのが出力されるから
>ftype ほにゃらら
を実行
その出力結果を貼って
0291272
2014/01/13(月) 21:40:03.16ID:mgMypIexC:\Users\Y.Sato\Desktop\GAE>assoc .py
.py=Python.File
C:\Users\Y.Sato\Desktop\GAE>ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
0292288
2014/01/13(月) 22:48:18.72ID:???原因は分からん
エラーメッセージから何らかの原因で引数がうまく渡っていないことが
想像できた。こういう場合はOSがやらかしている可能性が高いので
直接python.exeを呼んだら出来たというわけ
0293nobodyさん
2014/01/16(木) 16:04:59.53ID:n0982M2h0294nobodyさん
2014/01/16(木) 17:46:14.11ID:???この左側メニューの課金>請求先アカウントの一部が勝手にキャンセルされてしまった。
テスト段階だから課金は当然$0の延滞なしなので理由不明。(課金を無効にしたまま暫く放置すると強制キャンセルされる?)
>この請求先アカウントはご利用いただけなくなりました。
>残りの請求書や料金、払い戻し(該当する場合)の詳細はこちらをご覧ください。
プロジェクトのほうから課金を有効にしようとするとエラーになる(=課金設定が必要なAPIが使えないという状態)
>サーバー エラー
>申し訳ございません。
>もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。
>下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。
>追跡番号: undefined
エラーの原因となっているであろう、参照中のキャンセルされた請求先アカウントを変更しようとしたが
そんなメニューはどこにもなく、請求先アカウントの再有効化のメニューもない。
完全に詰んだ。
0295nobodyさん
2014/01/17(金) 00:57:26.60ID:???0296nobodyさん
2014/01/17(金) 11:33:47.32ID:+BA0LYJJまったく同じ現象でした
アカウントは別に使えるので
プロジェクトを作ってみたら作れました
古いプロジェクトは様子見て削除
0297nobodyさん
2014/01/17(金) 11:57:34.48ID:???>サーバー エラー
>申し訳ございません。
>もう一度お試しください。問題が解決しない場合は、以下の [フィードバックを送信] を使ってお知らせください。
>下記の追跡番号をコピーしてフィードバックにご記入ください。よろしくお願いいたします。
>追跡番号: undefined
↓↓↓↓↓↓↓↓
>サーバー エラー
>undefined
Googleさんよ、頑張ってなおしてくれ
このままだとAWSに揺らぐ気持ちを抑えられない
0298nobodyさん
2014/01/17(金) 12:01:12.06ID:???Billing Account for XXXX 閉鎖
Billing Account for XXXX 閉鎖
Billing Account for XXXX 閉鎖
Billing Account for XXXX 閉鎖
この請求先アカウント一覧リストにも削除メニュー必要じゃねって毎回思ってる
閉鎖して関連付けられなくなったアカウントが残り続けているのは見た目、心象ともに悪し
コメント欄追記でバージョン管理している会社のソースコードの手直しを任された感じといえば分かるだろうか
頑張って直してくれ
0299nobodyさん
2014/01/17(金) 12:08:56.49ID:+BA0LYJJあとapp engine のbilling settingsで決済カードを編集したり削除して改めて登録することもできます
0300nobodyさん
2014/01/30(木) 15:53:46.86ID:fy33022lデバッグしようとすると
ImportError: No module named json
というのが出て それはdjangoの中へのパスをプロジェクトプロパティの
pyshonpathで指定したら出なくなったんですが
次に
Unexpected error setting up the debugger
Socket operation on nonsocket: configureBlocking
が出て来ました
回避方法・元に戻す方法などなんでもいいので教えてください
win8.1 64
eclips kepler
pydev 最新のをPyDev Update Site - http://pydev.org/updates/から再インストールしてみました
何卒お助けください
0301nobodyさん
2014/01/31(金) 14:46:14.26ID:mlRzVxK1Pydev のStart Debug Server も起動できます
pydevのDebug Configrationsを使ったデバッグで失敗します
コンソール出力です
pydev debugger: warning: psyco not available for speedups (the debugger will still work correctly, but a bit slower)
pydev debugger: starting
pydev debugger: google app engine integration enabled
WARNING 2014-01-31 14:27:42,539 urlfetch_stub.py:115] No ssl package found. urlfetch will not be able to validate SSL certificates.
WARNING 2014-01-31 14:27:42,628 rdbms_mysqldb.py:74] The rdbms API is not available because the MySQLdb library could not be loaded.
Error: option --python_startup_script not recognized
Runs a development application server for an application.
dev_appserver.py [options] <application root>
Application root must be the path to the application to run in this server.
Must contain a valid app.yaml or app.yml file.
Options:
--address=ADDRESS, -a ADDRESS
<以下略>
option --python_startup_script
についてぐぐってみましたが有力な情報が出てきません
pydevをダウングレードする方法はないでしょうか?
よろしくおねがいします
0302nobodyさん
2014/02/01(土) 12:37:47.93ID:2KFQvVu0お騒がせしました
0303nobodyさん
2014/02/06(木) 19:05:33.42ID:wcYz7Wuzこれってアクセスされないデータから順に削除される見たいな記述があるんですが、
必ず消されないデータみたいなものって定義できます?
やりたいこととしては、頻繁に書き換えられるエンティティがあるんで、
それをキャッシュしておいて、
書き換えが発生した場合、キャッシュのみを更新していって、
30分とか1時間とか決まった時間経過するとバッチで、
DataStoreに書き込んで最新化するようにしたいんです。
0304nobodyさん
2014/02/16(日) 11:14:42.24ID:x7he8HhJNDBは?
0305nobodyさん
2014/02/16(日) 18:26:42.92ID:???読み込みのキャッシングにmemcache使ったり
コンテキスト内でのキャッシュがあるぐらい
消されないデータってのはmemcacheじゃ無理
そもそも永続化の仕組みじゃないんだから
いつ消えるか分からないし保証はない
何を扱ってるか見えないからこれ以上言いようが無いけど
途中の更新が喪失しても問題ないものなら
memcacheに通常書き込んで
ただtaskqueで30分おきとかで永続化したら?
0306nobodyさん
2014/02/17(月) 16:41:13.43ID:XebsJzK2存続時間に保障がない仕様なんだから
リスク覚悟でやるしかないね
作るのは簡単なんだし
0307nobodyさん
2014/03/01(土) 17:57:00.64ID:???オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/31
0308nobodyさん
2014/03/05(水) 11:07:24.06ID:???0309nobodyさん
2014/04/03(木) 15:14:38.24ID:???こんな感じでindex.html置いて
http://www.hogehoge.com/oppai/index.html
後ろの/が無いとアクセス出来ないんだけど
X http://www.hogehoge.com/oppai
○ http://www.hogehoge.com/oppai/
上が表示出来て下が出来ないのはapp.yamlの書き方間違ってる?
app.yamlはこんな↓
application: アプリ名
version: 1
runtime: python
api_version: 1
handlers:
- url: (.*)/
static_files: htdocs\1/index.html
upload: htdocs(.*)/index.html
- url: /(.*)
static_files: htdocs/\1
upload: htdocs/(.*)
0310nobodyさん
2014/04/23(水) 17:50:18.58ID:SqpWaV/mmany-to-many(多対多)が必須なアプリケーション
(Twitterならuser-timeline)ってGAEじゃ作れないよね?
timelineにListProperty付ける方法だと
数万人のフォロワーにtimeline配信(Fanout)するの無理だし
(仕様です、で押し通すのはちょっと…)
UserTimelineの結合テーブル用意する場合だとパフォーマンス的に問題あるよね
特にFanout書き込み処理時
(書き込みあるごとにフォロワー数万人分の参照用データを書き込み…)
(TaskQueueに投げて処理するとコスト高くないかい?)
0311nobodyさん
2014/04/29(火) 17:43:40.42ID:F2pgXBluそういうのこそ Google App Engine が大好きな分野だろう
パフォーマンス的にも、100% 問題ない。
0312nobodyさん
2014/04/30(水) 02:44:11.33ID:???0313nobodyさん
2014/05/03(土) 16:56:58.45ID:???0314nobodyさん
2014/05/03(土) 17:13:48.54ID:???0315nobodyさん
2014/05/03(土) 19:18:04.52ID:dwgN+kayという形で作ったんだけど
index.htmlみたいな物は無いのでしょうか?
0316nobodyさん
2014/05/28(水) 20:13:20.59ID:???いつのまにか 10 個から 25 個にアプリケーション枠増えてるのね
0317nobodyさん
2014/05/29(木) 08:38:37.82ID:???0318nobodyさん
2014/05/29(木) 08:39:19.03ID:kYNnKCf70319nobodyさん
2014/05/29(木) 09:18:18.43ID:???試しにアプリ増やしてみたけど Python 2.5 でもまだいけてる
>>131
どんどん使いやすくなるね
ユーザー少なすぎてサービス終了にならないかどうか心配
0321nobodyさん
2014/05/29(木) 13:08:15.48ID:Tmn0U92gめちゃめちゃ使いやすくなった
0322nobodyさん
2014/05/30(金) 04:10:24.03ID:???0323nobodyさん
2014/05/30(金) 15:18:06.54ID:???次はRubyだな
Herokuの客層を取り込めれば大きい
0324nobodyさん
2014/05/30(金) 15:20:37.54ID:???ロックイン上等のシステム作っておいて
勝手に終了されたら潰れちゃう会社出てくるだろ
AWS向けに移植するにしても金かかるんやぞw
フロントエンド(HTML&JavaScript)部分は流用できるとしても
データストア関連のコードは全部書き直しだわ
0325nobodyさん
2014/05/31(土) 02:34:05.70ID:???簡単に引っ越せたり
そもそもどうでもいいサービスなら
客減ろうが潰れようが
どうなろうと知ったこっちゃない
0326nobodyさん
2014/05/31(土) 05:29:13.90ID:???0327nobodyさん
2014/05/31(土) 09:12:28.43ID:???Datasore をエミュレーションする python ラッパー作ったら需要あるかな
それなら最初から AWS で造った方が良いか
0329nobodyさん
2014/05/31(土) 14:39:49.16ID:???0330nobodyさん
2014/05/31(土) 15:18:47.38ID:???0331nobodyさん
2014/06/01(日) 04:04:02.09ID:qDHk7um9もしそういった仕組みが無ければみなさんその辺りは自分で対策されているのでしょうか。
0332nobodyさん
2014/06/01(日) 10:14:04.61ID:iT9OtQtUデータストア関連コードの書き換えなんてそんなに面倒かな?
0333nobodyさん
2014/06/01(日) 10:19:09.18ID:iT9OtQtU一日単位で課金の上限に行くとサービス停止する
IP弾く機能はあるけどIPの登録は自分でする必要がある
自分は月間の予算を3倍取っておいてサービス継続を優先してる
異常があったらすぐIP弾いたりする
いままで一番多いのはBINGBOTだったけどね
なくなったページにいつまでもアクセスしてくるからログがそればっかりになる
302返さない自分も悪いんだけどさ
0334nobodyさん
2014/06/01(日) 10:43:57.71ID:???IP の登録はダッシュボードからしか出来ないのかな?
アク禁 IP 登録用の API とかある?
0335nobodyさん
2014/06/01(日) 14:29:50.46ID:iT9OtQtUないよ
IPの登録はdos.yamlとかdos.xmlをアップロードすることで可能だから
ファイルアップロードをapp engine内で行えば可能かも
0336nobodyさん
2014/06/01(日) 23:44:43.59ID:???レスありがとうございます。IPは手動登録なんですね。
ロボット向けにきちんと正しいステータスコードを返すべきというのも参考になりました。
>>335の方法も興味深いです。
ユーザー投稿有りでデータベースを増やしていく形のサービスの依頼(仕事レベルでは無い)を受けていて、アクセス過多以外にデータベースのデータ(イコールこのケースでは資産)をどうスクレイピングから保護するか、という事も気になっていました。
ベストはユーザー登録。
ユーザー未登録で投稿可能にするのであればIP監視も必要。
ユーザーエージェントもチェック。
IPやユーザーエージェントは偽装可能なので、他にクッキーかURLのquery経由で一時的なIDを渡してやってGAE側でvalidateする。
適当なIDを渡してもvalidateを通らないようにしておいて、一時IDはクライアントとGAE側で同じ生成アルゴリズムを用いて正当性を検証する。
というような事を考えています。
きっとまだ抜け穴はありそうなので引き続きデータ保護を検討してみます。
■ このスレッドは過去ログ倉庫に格納されています