1

こんにちは。まず、米国から世界中の皆様へ明けましておめでとうございます。私は今日 $_GET について多くのことを読んでおり、それが何をするのか、システムに実装することがどれほど役立つのかを正確に読んでいます。

ポイントに到達するには:

私は学生を追跡するシステムを持っています。このシステムにより、大学のカウンセラーが学生と具体的に連携し、カウ​​ンセラーが学生のために行った仕事にコメントを追加できるようになります。- > つまり、カウンセラーが学生を受け入れた場合、セッションが作成されます (php セッションではなく、学生とスタッフメンバー「カウンセラー」との間の実際のセッション)。

私の特定のシステムは、url から meeting_id を取得する必要があります。URL は次のようになります: localhost/student.php?id=1 または 2 または 3 または 4 (など)

$_GET を使用した私の理解から: 特定の URL ID (例: localhost/student.php?id=1) を取得し、 $_GET['id'] を使用してデータベース テーブルの特定の行を更新できます。

私の質問は:

$_GET についての私の理解は正当なものですか? 私はセッションで作業します。システムのすべてのページ (またはイントラネットと呼びたい場合はイントラネット) で SSL を有効にします。PDO を使用して、データベース テーブルの更新/書き込み/選択を行います。これが $_GET を実装する適切な方法であるかどうか、また安全な方法であるかどうかを知りたいです。

これらの回答/コメントを読むと、この論理を続けるのをためらってしまいます。しかし、この $_GET の特定の使用法では、このロジックを実装するのは良い方法でしょうか?

4

3 に答える 3

3

$_GET メソッドは他のメソッドと同様に安全です。それを危険にさらすのは、それを手に入れたときのあなたの行動です。データベースクエリで使用する前に、何らかの方法で $_Get を検証してください。たとえば、id が整数になることがわかっていて、最大長がどのくらいかわかっている場合は、使用する前にこれらのことを確認してください。

于 2013-01-01T02:00:42.270 に答える
2

$_GET['id'] を使用して、データベース テーブルの特定の行を更新します。

$_GET を使用してデータベースに変更を加えることは決してありません。選択するだけです。$_GET はブックマークされ、誤って再度使用される可能性があります。

このように考えてください。特定のカウンセラーのコメントなどをブックマークできるようにしたい場合は、$_GET が最適です。

データベースに変更を加える場合は、$_POST を使用します。もちろん、ユーザーを信頼することはできません。ユーザーが認証されていることを確認し、受信データをスクラブする必要があります。PDO を使用している場合は、クエリ ステートメントでデータをバインドしてください。

于 2013-01-01T02:10:01.720 に答える
1

$_GET メソッドを使用すると、渡された変数が URL に表示されます。重要なデータを含むサイトを構築しているため、変数の名前と値が表示されないように $_POST を使用することをお勧めします。また、すべてのユーザー入力フィールドを徹底的に検証します。

于 2013-01-01T02:04:10.333 に答える