4

私は自分のWebサイトを使用して、学校でオンラインでコーディング(およびプログラミングプロジェクトの進行)を行い、コードを自分の電子メールアドレスに送信して、自宅で作業を続けています。

テキストは、<textarea>または<input>フィールド(with name="Code" id="Code")内に含めることができます。
いずれにせよ、C / C ++関数を含むテキストを送信できませんfgets()

TODO: Include a more stable function to get user input,
      such as fgets(input, 20, stdin);

テキストを送信する理由がわかりませんfgets(input, 20, stdin)。問題になるのはなぜですか。また、または内のテキストはすべてプレーンテキストであり、実際のコードではないため、問題になるのはなぜですか。<textarea><input>

[送信]をクリックすると、テキストに<textarea>が含まれている間、(メッセージまたはメッセージfgets()を表示する代わりに)何も起こらず、テキストが送信されません。Invalid inputEmail Sent

4

2 に答える 2

6

サーバー上の何かがこれをサイトをハッキングする試みと見なしている可能性があります。

簡単なグーグルは、mod_security(SQLインジェクションやその他のエクスプロイトなどを防止しようとするかなり一般的なApacheモジュール)が呼び出しPOSTを含むパラメーターをブロックしている可能性があることを示していfgets()ます。http://forums.modx.com/thread?thread=9677

于 2012-10-13T20:36:41.437 に答える
0

引数を自分で1つの文字列に変換しないでください(変換する場合は、phpsの代わりにjavascripturlencode()を使用してください)。

jQueryは匿名オブジェクトとして[1][2]をサポートします data

サーバーに送信されるデータ。まだ文字列でない場合は、クエリ文字列に変換されます。GETリクエストのURLに追加されます。この自動処理を防ぐには、processDataオプションを参照してください。オブジェクトはキー/値のペアである必要があります。値が配列の場合、jQueryは、従来の設定(以下で説明)の値に基づいて、同じキーで複数の値をシリアル化します。

使用できるように:

data: {
  'Name': name,
  'Code': code,
  ...
}

そしてそれは機能するはずであり、より重要なことはそれが正しいエンコーディング(エスケープ)に注意を払うことです。これが役に立たない場合(問題は不正な形式の「生データ」ではない)、 ceejayozのソリューションを試し てください。

于 2012-10-13T20:39:54.730 に答える