urlencode および urldecode 関数はありますが、urldecode 関数を使用して簡単にデコードできるエンコードされた値がある場合。
クエリ文字列をより強力にし、攻撃を受けにくくするために使用できる他の方法はありますか? ハッシュを使用しても問題ありませんが、計算をあまり使用しないようにすることができます。
クエリ文字列ではなく URL 文字列について話しているようです。ユーザーに見せたくない変数を保護する最善の方法は、GET アクションの代わりに POST アクションを使用することです。
の目的はセキュリティを提供するurlencode
ことではなく、特殊文字などを含む可能性のある文字列をエンコードして GET リクエストで渡すことです。
POST は変数を URL の一部として保存したり、ブラウザの履歴に保存したりしないため、機密情報の送信にははるかに適しています。ユーザー操作に対して実際に情報を保護したい場合は、それをハッシュまたは暗号化する必要があります (たとえば、パスワードは投稿前にハッシュする必要があります)。
POST を使用しても、そのデータを取得したい人から何も隠しているわけではないことに注意してください。GET および POST で送信できるデータの種類には十分注意してください。どちらを選択しても、エンド ユーザーが操作できることを理解しておいてください。
これがあなたが見たいものだと推測してください。 これは、クエリ文字列からのものであるかどうかにかかわらず、ユーザーからの入力を「クリーン」にする方法を示しています。
変数を POST する方が安全かどうかはわかりません... Chrome Dev Tools は問題なく回避できます。