これは少し思いがけないことで、ほとんどが好奇心です。時間とスペースの無駄にならないことを願っています。リンクを使用してアカウントを検証するための小さなスクリプトを作成していたので、php スクリプトへのリンクを記載したメールを送信することにしました。リンクには、_GET 配列で取得する 2 つの変数を入れます。鍵とメール。次に、その電子メールとキーでデータベースを検索し、アクティブ化されたステータスをtrueに変更します...問題ありません。それほどエレガントではないかもしれませんが、十分に簡単です..
サイトの他の場所で新しいパスワードを生成するために使用したキーを生成するためのスクリプトを使用しました (たとえば、パスワードをリセットするため)。 )私のパスワード生成関数が引き出した配列はこれでした:
'0123456789_!@#$%&*()-=+abcdfghjkmnpqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
したがって、当然、URLの変数を区切るために使用される&文字を削除しました...次に、別の試みで、電子メールのリンクが完全に認識されず、「#」文字の後に停止したことに気付きました。 HTMLの参照に使用されていたので、それも削除しました。結局、念のために英数字だけを残すことにしましたが、気になります。_GET を使用して URL に「有効」ではない文字が他にもありますか? とにかくそれらの文字を使用する方法はありますか (おそらく ulr エンコードまたは somwething)