問題タブ [google-app-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
5182 参照

google-app-engine - GAE アプリで CSRF 攻撃を防ぐにはどうすればよいですか?

では、GAE アプリケーションに対する XSRF 攻撃を防ぐ最善の方法は何でしょうか? 次のことを想像してください。

  1. 誰でもユーザーの公開オブジェクトを見ることができ、db.Model id を要求で使用して、表示するオブジェクトを特定します。悪意のあるユーザーが ID を取得しました。
  2. 悪意のあるユーザーが独自のオブジェクトを作成し、削除フォームをチェックアウトします。彼らは、特定の ID を持つオブジェクトを削除する方法を知っています。
  3. 悪意のあるユーザーが無実のユーザーに、そのユーザーのオブジェクトの削除要求を送信させます。

#3 を防ぐためにどのような手順を追加できますか? ID と言うときは、キーの実際の ID 部分を使用していることに注意してください。私が持っていた 1 つのアイデアは、削除要求で完全なキー値を使用することでしたが、悪意のあるユーザーがこれを理解するのを防ぐことができますか? 私が知る限り、キーはモデル クラス タイプ、アプリ ID、およびオブジェクト インスタンス ID の組み合わせであるため、必要に応じて ID からキーを導出できる可能性があります。

他のアイデアはありますか?Jeff はこれについて投稿し、いくつかの方法を提案しました。リクエストごとに変更される非表示のフォーム値と、js を介してフォームに書き込まれる Cookie 値です。javascript 以外のユーザーを除外したくないので、Cookie ソリューションは役に立ちません。非表示のフォーム値の場合、削除可能なオブジェクトを表示するすべてのリクエストでデータストアへの書き込みを行う必要があります。スケーラブルなアプリケーションにとって理想的な状況ではありません。アプリ!

そこに他のアイデアはありますか?

0 投票する
3 に答える
1705 参照

django - Django @ Google App Engine - サイト マップ フレームワーク

Djangosサイト マップ フレームワークを Google App Engine で実行することに成功した人はいますか?

次の例外が発生します。

/sitemap.xml での不適切な設定

DATABASE_ENGINE 設定をまだ設定していません。

リクエスト メソッド: GET リクエスト URL: http://127.0.0.1:8080/sitemap.xml 例外の種類: ImproperlyConfigured 例外の値: DATABASE_ENGINE 設定をまだ設定していません。例外の場所: D:\Program Files\Google\google_appengine\lib\django\django\db\backends\dummy\base.py の 13 行目

0 投票する
2 に答える
8867 参照

jquery - jquery を使用した Django テンプレート: 既存のページでの Ajax の更新

フォームを持つ Google App Engine があります。ユーザーが送信ボタンをクリックすると、AJAX 操作が呼び出され、サーバーは何かを出力して、そのページの最後に追加します。どのように、Django テンプレートがあり、jquery を使用するつもりです。私は次の見解を持っています:

scripts.js のスクリプトは次のとおりです。

そして、ここに私のコントローラコードがあります:

ご覧のとおり、ユーザーが送信ボタンをクリックすると、コントローラ メソッド Mainpage.post が呼び出されます。

フォームの直後に 'result' 変数の内容を表示したいのですが、どうすればよいですか?

0 投票する
3 に答える
13268 参照

jquery - Google App Engine での Ajax フォームの構築

フォームがあり、送信ボタンをクリックすると、サーバーと通信し、サーバーから何かを取得して同じページに表示したいと考えています。すべてを AJAX 方式で行う必要があります。Google App Engine でそれを行うには? できればJQueryでやりたいです。

編集: code.google.com/appengine/articles/rpc.htmlの例はフォームでは機能しません。


編集: rpc プロシージャは form では機能しません

0 投票する
4 に答える
3316 参照

python - GqlQuery の結果セットを Python 辞書に変換する

このようなモデルがあるとしましょう

そして、私はこのようなGqlQueryに行きます

GqlQuery の結果を取得して、さまざまな言語から操作できる何らかの JSON 文字列に変換したいと考えています。


これが私が今やっている方法です

  1. 辞書に変換するメソッドをFooクラスに追加します

    /li>
  2. GqlQuery の結果をループし、各 Foo インスタンスを辞書に手動で追加します

    /li>

上記の私のアプローチはうまくいきますが、ちょっと気持ち悪いです。

これを処理するための、よりクリーンで「Pythonic」な方法はありますか?

最後の形式は、上で行ったものとまったく同じである必要はありません。JSONにうまく変換できるものでなければならないので、Javascript/PHPなどから処理できます。

0 投票する
2 に答える
512 参照

eclipse - Pydev for Eclipse で WebOb 応答/要求オブジェクトのオートコンプリートを有効にするにはどうすればよいですか?

Pydev/Eclipse を使用して Google App Engine (GAE) アプリケーションを開発していますが、WebOb から応答/要求オブジェクトを取得してオートコンプリートすることができませんでした。広く推奨されているチュートリアルを使用して、すべてを構成しました。自動補完は、私が遭遇した他のすべてのもので機能しています。

例として、「self」と入力した場合。応答と要求のオートコンプリートを取得します。それらのいずれかを選択した場合は、「応答」と言って、「。」を追加します。(これまでのところ、「self.response.」に全行を表示しています)オプションはありません-WebObライブラリが含まれているため、オプションとして「out.write()」などを取得することを期待しています。

次のライブラリを Pydev プロジェクトに含めています。

  • C:\Program Files\Google\google_appengine
  • C:\Program Files\Google\google_appengine\lib\django
  • C:\Program Files\Google\google_appengine\lib\webob
  • C:\Program Files\Google\google_appengine\lib\yaml\lib

どんな助けでも大歓迎です、ありがとう。

0 投票する
2 に答える
1061 参照

python - Google App Engine の親プロパティと参照プロパティの違いは何ですか?

私が理解していることから、db.Model の親属性 (通常はコンストラクター呼び出しで定義/渡される) を使用すると、データ モデルの階層を定義できます。その結果、エンティティ グループのサイズが大きくなります。しかし、なぜそれをしたいのか、私にはよくわかりません。これは厳密に ACID 準拠のためですか? それぞれが最適またはより適切なシナリオを見たいと思います。

0 投票する
3 に答える
7692 参照

google-app-engine - GAE でセッションを効果的に実装するには?

私が作業しているGAEアプリに(何よりも演習用に)独自のセッションを実装することについて疑問に思っていました...最初は、データストアを使用してセッションデータを保存することを考えていました。ただし、何かをセッション「バケット」に追加する必要があるたびに、データストアに保存する必要があります。書き込みを最小限に抑えたいので、明らかに悪いことです。それから memcache を使用することを考えました...良いアイデアのように思えましたが、memcache が Google によって「メモリ不足によって追い出された」ため、セッションが破損する可能性があるという問題に直面しました。つまり、次のオプションしか残されていません。

  1. すべてのセッション データを Cookie に保存する
  2. すべてのセッション データをデータストアと memcache に書き込み、memcache からのみ読み取る

他にアイデアはありますか?

0 投票する
4 に答える
4831 参照

python - Python: GQuery 結果セットの DISTINCT (GQL、GAE)

匿名ユーザーのリンクを格納するエンティティが Google App Engine データストアにあるとします。次の SQL クエリを実行しようとしていますが、これはサポートされていません:

代わりに、次を使用できます。

Python を最も効率的に使用して結果をフィルタリングし、DISTINCT 結果セットを返す方法は? DISTINCT 結果セットをカウントする方法は?

0 投票する
5 に答える
2319 参照

python - 継続的インテグレーションのためにGoogleAppEngineとGoogleCodeを統合することは可能ですか?

Googleコードコミットを統合して最新のコードをGoogleAppEngineにデプロイする方法/可能性について誰かが考えていますか?

私はGoogleCodeでホストされているシンプルなGoogleAppEngineプロジェクトのソースを持っており、Subversionにコミットするたびに、そのAppEngineが最新のコミットを反映することを望んでいます。プロジェクトは主に個人的な使用と学習を目的としているため、ライブサイトで問題が発生してもかまいません。

コードリポジトリのサブバージョンコミットに結び付ける方法や、AppEngineへのデプロイを開始する方法について誰かが考えていますか?理想的には、このソリューションでは、私からの手動や、私のマシン上のサーバー/リスナーソフトウェアの種類は必要ありません。