私はCodeigniter 3
を使用しており、MY_Controllerのためにフォームの送信時にリダイレクトを使用することに問題がありました。基本的には、日付とテキストの検索フォームがあり、フォーム入力に基づくURIセグメントを使用してMY_Controllerでリダイレクトしていました。私。私のベースのウェブサイトのURLからフォームを送信すると、入力を処理し、mywebsite/search/from date/to date/text/searchテキストにリダイレクトします。論理がMY_Controllerにあるので、データは一度より多く処理され、失われていました。CodeIgniter redirect form jQuery経由での送信
jQueryを使用してリダイレクト文字列を作成してリダイレクトしても問題ありません。私はこれがセキュリティ上の影響を受けるかどうか、あるいは誰かがこのアプローチの問題を見ているかどうかを調べるだけです。フォーム
<script type="text/javascript">
$("#do_search").click(function(e) {
e.preventDefault();
var from_date = $(this).closest("form").find("input[name='from_date']").val();
var to_date = $(this).closest("form").find("input[name='to_date']").val();
var search_text = $(this).closest("form").find("input[name='search_text']").val();
var first = window.location.pathname;
first.indexOf(1);
first.toLowerCase();
first = first.split("/")[1];
var redir_url = window.location.protocol + '//' + window.location.host + '/' + first + '/search/' + from_date + '/' + to_date;
if(search_text !== ''){
redir_url = redir_url + '/text/' + search_text;
}
$('#search').attr('action', redir_url).submit();
return false;
});
</script>
を提出したURLは、MY_Controllerで処理されたセッション変数が維持され、URLが正しく解決に呼び出された
jQueryのスクリプト。私はCSRFと積極的な記録を使用していますので、これは安全なアプローチだと思いますが、あなたと専門家に確認したいと思っています。
ダニエル、私はJSに堪能ではありません。データが提出されると、PHP/Codeigniterの入力を検証しています。 JQueryの入力を確認するべきですか? – ReeseB