LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Forum

protectorのID風変数の強制変換が$_REQUESTを変換しない

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012/7/13 20:17
fuga  2nd Class   投稿数: 7
xoops_trust_path/modules/protector/class/protector.php
545 foreach( $_GET as $key => $val ) {
546   if( substr( $key , -2 ) == 'id' && ! is_array( $_GET[ $key ] ) ) {
547     $newval = preg_replace( '/[^0-9a-zA-Z_-]/' , '' , $val ) ;
548-    $_GET[ $key ] = $HTTP_GET_VARS[ $key ] = $newval ;
549     if( $_REQUEST[ $key ] == $_GET[ $key ] ){
550       $_REQUEST[ $key ] = $newval ;
551     }
551+    $_GET[ $key ] = $HTTP_GET_VARS[ $key ] = $newval ;
552   }
553 }
549行で比較した時点で既に、$_GET[ $key ]に$newvalが代入されてるのでこのif節が無意味。後ろに持っていけば多分意図された通りの動作になると思う。
$_POST、$_COOKIEを処理する部分もそれぞれ同様の修正が必要。


というような事を、だいぶ前にどこかに書いた記憶があるのだけど(どこに書いたか忘れた)、直ってなかったのでここに書いておきます。
#バグトラッカーのユーザー登録は承認制でないほうがいいと思う。
投票数:2 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012/7/14 0:43 | 最終変更
nao-pon  Lieutenant   投稿数: 488
fuga さん、こんにちは。お久しぶりです。

確かにご指摘の通りですね。早速修正を入れました。ありがとうございます!

https://github.com/XoopsX/legacy/commit/fdaaa5f139c830d80a1d4cd33f4e645a0af42...

今後、Pack201x の CorePack の修正は、
https://github.com/XoopsX/legacy で行なっていきます。

問題などが見つかりましたら、Issues · XoopsX/legacy へ積んで頂けると幸いです。
投票数:2 平均点:10.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities