ゆうちょPayアプリで「々」が含まれる氏名の登録が行えない不具合 94
ストーリー by hylom
「々」は漢字ではない罠 部門より
「々」は漢字ではない罠 部門より
あるAnonymous Coward曰く、
ゆうちょ銀行が5月8日よりサービスを開始したスマートフォン決済サービス「ゆうちょペイ」だが(CNET Japan)、アプリでのアカウント作成時に名字として「佐々木」を入力するとアカウントを作成できないというトラブルが発生していたとのこと(ITmedia)。
「ひらがな、カタカナ、漢字、アルファベットのみ入力してください」というエラーメッセージが出るとのことで、どうやら「々」を「ひらがな、カタカナ、漢字、アルファベット」として認識していなかったのが問題のようだ。すでにアプリのアップデートで改修されているという。
改修されている (スコア:3)
Re:改修されている (スコア:1)
ゟ とか 🈀 とか ㌀ どうなんだろう(試す気なし)
Re: (スコア:0)
私もまずjisの表が頭に浮かぶ方だけど
長音が今回挙がってないから多分区点じゃなくunicodeで組んでる
仮名の繰り返し記号やゟも平仮名や片仮名のブロック内にある
とするとその辺は問題でないと推測
https://ja.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7_3000-3FFF [wikipedia.org]
Re: (スコア:0)
ゑ
の付く人を数人知ってるけど大丈夫か
Re: (スコア:0)
死んだばあちゃんの名前がそうだな。
スラドの場合 (スコア:3, 興味深い)
言われてみれば確かに・・・ (スコア:1)
確かに踊り字は「ひらがな、カタカナ、漢字、アルファベット」ではないけど・・・。
Re: (スコア:0)
ルールからすれば「佐佐木」としておけばよかった、とは言えなくもないですね。
この場合情報処理的にはともかく、法的にどう扱われるのかはちょっと気になる。
Re: (スコア:0)
踊る人形
Re: (スコア:0)
Twitterが日本語ハッシュタグを導入した時も長音符が使えない仕様だったな
何で文字種制限しようとするのか (スコア:0)
Re:何で文字種制限しようとするのか (スコア:1)
実際にシステム組めばなんでかわかるよ。
Re: (スコア:0)
わいはいくつものシステムを組んで来た自営業だが
外部システムとの連携や、フォントが乏しい環境での印字が絡む分は分かるんだが
そうでないのに文字を制限したがるのは未だによく分からぬ。
Re:何で文字種制限しようとするのか (スコア:2)
フィールドに何を受け付けるのかは、外注業者が理由をアレコレしても仕方ないでしょ
それはお客の都合で決まるもの。これはマスターデータだろうし、どう使うかわからんから
綺麗にしておきたいという心理は理解できる。
でもたぶん、この場合はUnicodeの漢字の範囲コードポイント表に「々」が入ってないからでは。
正規表現でコード指定で漢字ひっかけるときのあるあるでしょ。
ก็็็็็็็็็็็็็ʕ•͡ᴥ•ʔ ก้้้้้้้้้้้ とか使われてもいいの (スコア:1)
ก็็็็็็็็็็็็็ʕ•͡ᴥ•ʔ ก้้้้้้้้้้้ とか使われてもいいの?
アカウント名が送金相手などにも表示される場合、欄から文字がはみ出て表示されて相手に不快感を与えたり、
表示がバグったと勘違いさせたり、場合によっては重要な表示を上書きしてしまうことができるんですが。
Unicodeの特殊文字を使わせることはある意味脆弱性のようなものなので使用可能文字を制限するのは妥当な設計です。
Re: (スコア:0)
文字のコードやそのエンコードって知ってるかい?
「なんで制限するのか」「絵文字でも受け付ければいい」って発想は「この世にはスマホしか無い、かつアイフォンしかしらない」みたいな人の発想に見えちゃうよ。
Re:何で文字種制限しようとするのか (スコア:1)
このサービスは実際にゆうちょ口座がある人向けなので、既に登録されている名前と不一致なら、サービスは受けられず、先には進まない(と思う、試してないけど、常識的にそうなっていると信じる)。
なので、入力画面でコード制限してもあまり意味はない(サーバ負荷とかは関係あるかも)。するなら、「ゆうちょシステムで登録できる文字コード」と完全に同じ条件にしないとエラー条件が増えて、こういう余計なバグの要因になる、と思います。
Re:何で文字種制限しようとするのか (スコア:1)
> 既に登録されている名前と不一致なら、サービスは受けられず
・同じ文字に見えても、実は文字コードが違う(令和の時に話題になったように)
・普段は省略形の文字だけど、実はゆうちょ側は難しい字で登録されていて、合わない
とか罠はいっぱいありそうだけど。
Re:何で文字種制限しようとするのか (スコア:1)
そういう話はWindowsとInternet Explorerに限定されたサービスが完全に消滅してからするのだ!!!
Re: (スコア:0)
Re: (スコア:0)
馬鹿な開発者はまともなバリデーションを知らないからね、仕方ないね
実際のところ絵文字を使えたっていいんだが、脆弱性を作り込むよりはホワイトリスト方式で安全に行こうという下請けのレベルに合わせた設計をすることになる。
Re: (スコア:0)
あんた、典型的な実装を知らない自称設計者でしょ。
「技術を知らなくても設計はできる。
オレの設計を実装できないのは、絶対に下請けの奴らの技術力のせい!オレは悪くない!」
いったいどんだけのそういう糞設計者を見た事か。
Re:何で文字種制限しようとするのか (スコア:1, すばらしい洞察)
理論的に反論できないと、すぐそうやって自分の経験を感情的に他人に押し付けるんだから、もう
Re: (スコア:0)
建築ならば、設計、施工、検査がそれぞれ独立した第三者なのは当然でしょ。
だからITの世界は、インダストリーとして遅れているのよ。テスターすら雇おうとしない。
Re:何で文字種制限しようとするのか (スコア:1)
いまだに、ITの世界が建築を目指していると思っているの?
Re:何で文字種制限しようとするのか (スコア:1)
クリエイティビティなんて関係ない。
単に、条件が違うので机上の空論だと言っているだけですが。
建設のように設計通りにできたプログラムなんて見たことがありますか?
砂上の楼閣をわざわざ大金かけて購入しようとは、
さすが金融屋さんは剛毅ですねえ。
冒険心にあふれています。
Re: (スコア:0)
やってみろ
SQLインジェクション等されまくって
個人情報ダダ漏れになって
簡単に死ねるから
Re:何で文字種制限しようとするのか (スコア:1)
SQLとして意味のある記号をエスケープすればいいだけなのに、SQLとして意味がある記号が何か分からない(ドキュメント見れば全部書いてあるのに!)から手当たり次第に制限してんだよね。
そんなカーゴカルトプログラミング手法で本当に危険な記号を排除できてるとどうして信じられるんだろう・・・
Re:何で文字種制限しようとするのか (スコア:3, すばらしい洞察)
「佐々木」の入力すら想定できない開発者が、SQLのドキュメントに基づいて適切にエスケープできるわけないじゃん
Re: (スコア:0)
全部を監督できる環境ならいいけど、他システムからの入力だのがあって文字コード変換や予期しないサロゲートペアだのが放り込まれて、エスケープしたつもりがU+00A5を通しちゃいましたとかなるからだろ
Re:何で文字種制限しようとするのか (スコア:2, すばらしい洞察)
他システムからの入力をエスケープできない段階でアプリ関係なくアウトなのでは
Re: (スコア:0)
クライアント側に緩和策入れて「直叩き対策は?」って聞くと「アプリの改変は規約違反だから起こらない」とか意味不明の言い訳するやついるよね
Re:何で文字種制限しようとするのか (スコア:2, すばらしい洞察)
って思うじゃん? いや、確かに楽だよ。楽だけどさ、結局今回のような問題が発生するわけで。
ホワイトリスト制限するのは自由だけど、だからといってエスケープ処理をしなくていいという考えは危険だと思うよ。
Re: (スコア:0)
サーバで落とせや!!!!!!!1
Re: (スコア:0)
> 意味のある記号をエスケープすればいいだけ
いやぁ、『々』を見落としちゃう現場ですよ?
「すればいいだけ」なんて言ってると絶対にまた見落としが出ます。
というか、意味のある記号だけエスケープって、文字列のデータしか考慮してないですか?
数値を埋め込むべきところにandとか通常の英字をぶち込まれるのは考慮しないつもりなんですか?
全部文字列データとして渡せば解決と思ってますか?暗黙の型変換でもっと色々死ねますよ?
Re:何で文字種制限しようとするのか (スコア:1)
SQLインジェクション対策に入力文字制限とか普通しないって。
かな英数字ならともかく、漢字の範囲なんか簡単にはできないでしょ。
これアプリのレビュー見ると散々だよ?
この問題だけじゃなく至る所でやらかしてる感じだよ。
どんな開発会社に頼んだんだよ。
Re: (スコア:0)
そういうSQLエスケープ処理は、データベース製品についてくるライブラリの仕事じゃないの。
暗号処理と一緒。
え、自分でエスケープ処理を書いているって? そもそも、それが危ない。。
Re: (スコア:0)
今どきweb設計するときにHTMLタグエスケープしないだの、SQL place holder使わないだのなんてありえないでしょ。
だからこそ文字種制限に意味あるのかと感じるんだけど。
Re: (スコア:0)
会社で10年以上運用してるシステムも絵文字でもなんでも受け付ける仕様なんだけどダメなかな?
プレースホルダー使ってれば大丈夫と気楽に考えてるんだが…
Re:何で文字種制限しようとするのか (スコア:3, すばらしい洞察)
> プレースホルダー使ってれば大丈夫と気楽に考えてるんだが…
それで正しいですよ。
むしろ「文字種制限しないと SQL Injection や XSS の危険があるようなシステム」の方がはるかに危ないです。
プレースホルダーとか適切なフレームワークを使ってないっていう意味ですからね。
Re: (スコア:0)
アラビア語とか文字方向が違う文字入力されてレイアウトが崩れたり、変な装飾文字を入力されて脆弱性をつかれたりとか、ほんといろいろある。
入力できる文字をホワイトリストで限定したいというのはわからんでもない。
メールアドレスのエイリアスも使えない (スコア:0)
RFC5322は人類には早すぎたんだ……
要求仕様どおりならまあいいんじゃないかな (スコア:0)
漢字の定義が何かはともかく。
なんでも受け付ければいいとか最初にやらかしちゃって、
後で取り返しのつかない文字が登録されちゃったりするよりよほどいい(ポジティブ思考)。
Re: (スコア:0)
J-Phone のメールアドレスの話を思い出した
ダミー名簿によるテスト (スコア:0)
とかしないの?
関係者に佐々木さんいなかったの?
Re:ダミー名簿によるテスト (スコア:1)
Re:ダミー名簿によるテスト (スコア:1)
https://www.jp-bank.japanpost.jp/aboutus/company/outline/abt_cmp_ol_di... [japanpost.jp]
ではここで専務執行役をご覧いただきたい
Re:ダミー名簿によるテスト (スコア:1)
人類に文字列は早すぎた (スコア:0)
すべてバイト列として評価しよう
Re: (スコア:0)
夏の夕暮れに海鳥たちだけが迎えてくれるのですね
#それはバイド