バージョン選択

フォーラム

メニュー

オンライン状況

61 人のユーザが現在オンラインです。 (51 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 61
もっと...

サイト内検索

バグ報告 > その他 > SC_Utils::sfIsInt()が不適切に使用されています

その他

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
AMUAMU
投稿日時: 2010/9/13 9:19
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: SC_Utils::sfIsInt()が不適切に使用されています
MySQL4.x系の切り捨てはしたわけですしね・・・

株式会社ロックオン社の立場的に考えると、ホスティングパートナーにPHP4.x系使ってる所が無いなら思いきって・・・と思うのですが
※いたら厳しそう


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

pantacle
投稿日時: 2010/9/13 9:16
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
Re: SC_Utils::sfIsInt()が不適切に使用されています
> 個人的には、PHP4 とか 5.1 とか、切っちゃえ! という勢いですが、プロジェクトとしては、なかなかそうもいかないようですね・・・

PHP4は流石に切っても良いでしょう。
どうしてもPHP4の人には現行の2.4系を使って貰えば良い話ですし。

かつてのApacheを見習って土台から見直した、PHP5対応のEC-CUBE3というのは魅力的....


----------------
pantacle
http://pantacle.net/

seasoft
投稿日時: 2010/9/13 7:02
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: SC_Utils::sfIsInt()が不適切に使用されています
> intチェックを始め各種入力値チェックは実行速度や安全性、将来のプラグインによる多様化時のセキュリティチェックを考えると、本当はFilter関数とかに移行出来るとベストな気がしますが、Filter関数はPHP5.2以降でしか利用出来ないので中々難しいですかね・・・

個人的には、PHP4 とか 5.1 とか、切っちゃえ! という勢いですが、プロジェクトとしては、なかなかそうもいかないようですね・・・

しかし、将来的に移行しやすいように、モジュールの機能・粒度を参考にする等は、今でも出来そうですね。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

AMUAMU
投稿日時: 2010/9/13 6:22
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: SC_Utils::sfIsInt()が不適切に使用されています
intチェックを始め各種入力値チェックは実行速度や安全性、将来のプラグインによる多様化時のセキュリティチェックを考えると、本当はFilter関数とかに移行出来るとベストな気がしますが、Filter関数はPHP5.2以降でしか利用出来ないので中々難しいですかね・・・

参考URL
http://www.php.net/manual/ja/book.filter.php


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

nanasess
投稿日時: 2010/9/11 22:06
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: SC_Utils::sfIsInt()が不適切に使用されています
8桁と定めている理由もわかりませんし, is_numeric で十分だと思うので, 廃止してしまっても良いかと思ってます
seasoft
投稿日時: 2010/9/11 17:49
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: SC_Utils::sfIsInt()が不適切に使用されています
せっかくの問題提起がこのまま埋もれてしまうのはもったいないので、とりあえず既存チケットのコメントとして記載させていただきました。
http://svn.ec-cube.net/open_trac/ticket/651#comment:2

とりあえず、仕様としての白黒がハッキリすると良いなと考えています。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

seasoft
投稿日時: 2010/9/6 23:40
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: SC_Utils::sfIsInt()が不適切に使用されています
> SC_Utils::sfIsInt()も問題で、関数名通りの処理して無いですよね。

私も直感的に、そう感じました。
そのために、SC_Utils#sfIsInt にコメントをつけた次第です。

# まぁ、仕様書が無い状況では、何が「正」か分からないですが・・・


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

pantacle
投稿日時: 2010/9/6 23:27
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
Re: SC_Utils::sfIsInt()が不適切に使用されています
SC_Utils::sfIsInt()も問題で、関数名通りの処理して無いですよね。
実はis_numeric()で判定しているので、
関数名だけ見て整数でなければfalseが返ると思い込んじゃうと
ハマる。

本来なら、
整数かを判定する関数と
整数かつINT_LEN桁以内かを判定する関数の
2種類必要なのだと思います。

--
pantacle(元mahalo_c)
seasoft
投稿日時: 2010/9/6 22:07
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: SC_Utils::sfIsInt()が不適切に使用されています
私も以前に気になりまして、コミュニティ版ではコメントを付けてあります。
http://svn.ec-cube.net/open_trac/changeset/18273

INT_LEN の定義が由来なので、バグとも言い切れないので、XXX 扱いですが。

# まぁ今では、金額以外は8桁上限が染み付きました。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

pantacle
投稿日時: 2010/9/6 21:13
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
SC_Utils::sfIsInt()が不適切に使用されています
LC_Page_Admin_Order_Edit.php等でSC_Utils::sfIsInt()が不適切に使用されています。
[EC-CUBE] EC-CUBE ver.2.4.4 で検出したけどもっと前からの問題。

SC_Utils::sfIsInt()は、引数がINT_LEN(8)桁までの「数値」かを判定している関数なので、
これの仕様も正直どうかとは思いますが、
オーダーIDなど明らかに8桁以上になりうる値の判定にも使用されており、地雷になる可能性があります。

試験環境と本番環境を区別する為にオーダーIDを大きな数字にしておこう、とかするとハマります。
というかハマりましたので愚痴ついでに。

既出ならご容赦ください。

--
pantacle(元mahalo_c)
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,290名です
総投稿数は109,689件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.