アメリカ人のNullさん、名前のせいでウェブサイトに登録できない事案が発生
http://www.gizmodo.jp/2016/03/namednull.html
記事によると
・アメリカはバージニア州に住む、一人の女性。旅行サイトでチケットの予約を試みたところ、何度やってもエラーになってしまうそう。そのエラーは決まって「お名前は必須項目です」というものなんです。
・でも、毎回きちんと入力しているんですよ。「Jennifer Null」と。
・Jennifer Nullさんが航空券を予約しようとすると、ほとんどのサイトでエラーとなってしまいます。彼女は仕方なく電話で予約をし、それは何の問題もなく完了したそうです。
・そこで彼女は「なぜ私はサイトが使えないのですか?」と聞いたところ、「申し訳ございません。しかし、どうしようもありません」という回答しかもらえなかったとのこと。
・実は「null」というのは、コンピューター用語の1つで、「空の」「何もない」といった意味を持ちます。そのため、Jenniferさんが苗字を入力しても、サイトはそれを未入力だと判断してしまい、正常に処理できなかったとのこと。
この話題に対する反応
・これは笑えるんだけど、そもそもNULLを文字列として判定している時点で・・
・かなしみ
・「ほとんどのサイトでエラーとなってしまい」ってことはちゃんと受け付け処理できてるサイトもあるわけで、単にプログラムの問題じゃないの、と思うけどどうなんかな?
・予約語とか気をつけなきゃw-
・申し訳ないけどちょっと笑った。
Null - Wikipedia
null(ヌル、ナル)は、何もない、という意味で、プログラミング言語などコンピュータ関係では、「何も示さないもの」を表すのに使われる。同様のものに、nilが使われることもある。他の名前のこともある。
英語では/nʌl/と読むが、日本では「ヌル」が定着している。
プログラミング言語などにおいて、nullやnilといった予約語や定数名のものなどの意味がどういったものかは言語により、場合によっては実装ごとに違う。ポインタや参照のある言語では、ヌルポインタなどと呼ばれる何も指さない特別なポインタであることもあるし、Pythonのようにオブジェクトのこともある。古典的なLISPのように真理値の偽(の代表)や空リスト「()」を兼ねたもの(それらと同じもの)だったりすることもある。
これは可哀想
でも回避できないプログラムにしてない側も悪いのでは?想定してないのか・・・?


ラブライブ! スクールアイドルフェスティバル official illustration book (3)posted with amazlet at 16.03.30
KADOKAWA/アスキー・メディアワークス (2016-04-09)
売り上げランキング: 72
お父さんいつもごめんね
エル1個無いぐらい大して支障ないでしょ
なんで文字列に意味もたせちゃってるんだか
サイボーグ忍者が思い浮かんだ
nulleって改名してしまえ
MPOに出てきたフランク・イェーガー=サイボーグ忍者の過去の姿だな
空文字列や¥0コードをnullとしてりゃ問題無いんだが
テキスト教信者によって文字列トークンバンザイになってるからな
はちまのいうとおり、プログラム次第でどうにでもなるし回避可能ですよ。
でもなんも対策しなければ、現行のWEBだとエラー出る事案なんだよなぁ。WEBってテキストベースだからね。
NULLって書くとプログラムの中のNULLって扱いになるから。
なんちゃって
バイナリ最高!
は?
そのヘタレな考えが間違ってることが証明された
でもNullなんて名前の人コイツぐらいだろうしいちいち回避する必要は無いだろ
ガッ
ま、原酒といくか
でもあれは正史じゃないので無かった事リストなんだねー
せっかくよく出来たキャラだったのに
護衛艦の艦名だとひらがなになるので
書類上だと「なし」になって紛らわしいということで
「わかば」に名称変更した事があるゾ
名前欄からハッキングし放題じゃないの
そんなコード見たこと無いな文字列の"null"と、null
は違うもの文字列で"null"が含まれていたら
なんと実装してる?
それも多くのサイトが?ねぇだろ?
楽をする事に慣れててプログラムの動作原理
すら知ろうとしない
はぇ~すっごい博識・・・
ヒント
型推論
安心しろ
悲報しか来ないから
PWにいたなあ
itエンジニアの方教えてちょ
日本だったら虚無くんって名づけられてそう
SQL関係ないよwww
害人が入力チェックしないでいきなりSQLにぶち込む馬鹿だったら知らんがw
それで済む話
なるほど、プログラミング経験のほぼない俺でも知ってる技をやってないとは、、、
もう数年来無いじゃないかwゾンビですか?
昔はできたのにこれじゃ編集できねぇ
システム的にはしゃーなし
むしろ文字列でも弾いてる辺りはセキュア
名としての「なし」なのか、空白・存在しないの「なし」なのか判別できなかったと
それはア・ナルです
教えてパソコンの大先生
言ってもわからんだろうけどnullと文字列のnullは別物やで?
実際はダブルくぉーてで囲えば文字列として入るよ?
フカシじゃなきゃコーダーはアホの極み
NULLと文字列のnullはちがうからそんな事にならん
なるとしたらバグ抱えてる
ネタじゃねえの
エクセルシートにnullなんて入ってたらツールのバグかな?って思って消しちゃう
こういう現象起こらないはずなんだけど…
というアホな規約を持ったシステムは考えられるけど
データをプリンタにダンプしたときに、どの項目が未入力かが一目でわかる故
未入力かどうかを name == "null" みたいなコードでチェックする感じ
普通に未入力だろ馬鹿かwwwww
あるいはインジェクション対策が雑なのか
商業でそんなガバガバシステム採用してて良いんですかね・・・
嘘にもほどがある
なんで文字列としてのnull をエラーとするんだよ、妄想にもほどがあるわ
はいでたニワカw
全然わかんねーすげー
流石大先生!!
バグのないプログラムはないんやで
特定のやつを入力できないじゃん。
それと同じじゃんかよ!
でも、俺の作ったプログラムは対策してあるんだけど、全てのプログラムがこういう事例を対策してるわけじゃないですからね・・。結局はそういう名前を使うと「損をする」っていうところは変わらないわけです。DQNネームが馬鹿にされるのと同じようにね・・。
外国ではnullって禁止用語なの?
そんなサイト危なすぎてつかえないからアホサイト発見するのに役立ちそうだな
と思ったが今時そんなサイトが存在するのかどうか…
うんそうだね。実際そうなんだよね。プログラム自体が甘い作りなんだよ。
でもnull以外では動いちゃうもんだから動作試験の時に気付かなかったんだよね。そういう話なんだよね。
真面目に答えるとだな・・。HTML系の言語ってすんげーいい加減な書き方をしてても動くんだよ。
例えばAに文字列をいれるときにA=katanaみたいな書き方をしてもOKだったり。本当は文字列のときにはA="katana"なんだけど。文字列か?とか数字か?というのを勝手に認識して入れてくれるんだよ。んで今回はnullを文字列でないって勝手に認識したんだな。
こんなふざけた名前に対応する工数は無い。
この人は諦めたほうがいい
会社も相手にしなければいい
この程度の対策は自動でしてくれるもんじゃないの?
よほど古いフレームワークか、すべて独自で実装してるなら
こういうこともあるかもしれないけど・・・
SQLでname="null" としないで name=nullにすると処理的にエラーになるだろ
空文字列に統一しろや
クソデザイナーが作ったサイトかな?
いやこれユーザー情報とか全部ぶっこぬかれる可能性あるからかなり深刻よ
ちなみにこれで不具合が起きるのはHTML側ではなくてその受け取ったフォームデータを処理するバックエンド側
JavaかPHPか知らんが結局はDBにデータを突っ込むさいのサニタイジングがちゃんとできてないバグね
Webサイト作るなら基本中の基本の部分です
狙われやすいサイトだと思うから、怖くて利用できないな。
こんなのはよくあるんだ
nullって別にコンピュータ用語としてしか使わない言葉じゃないからね?
ばかりが氾濫した弊害だな
やっぱり技術者は機械語直打ちよ
ガバガバにも程があんよw
C++の面倒臭さを見習え
どちらにしても、入力文字数を見てないとかそんなレベルなのかな
全てのルールを廃れさせることのできる男が使ってる特殊なやつ
あなたには苗字がないってことなんだから
かわいそうだ
htmlspecialchars()
(さすがに居ないか)
入力時には全く支障ない。
単に英語が言語として不完全ということでは?
報道規制・参加国総貧困化・労働環境悪化・支出増加・ビザ大幅緩和etc.全分野に影響多数 アフィ煽り対立叩き離間目晦まし他工作世論誘導多数「TPPのまとめ」「対立分割工作」で検索
データベースじゃまた違うのかあ
英語圏だからまた別の問題があるのかもしれない
SQLインジェクションとか出来ちゃっても要件定義になかったんでー
とか言いそうで怖いわ
if($str!="null")で、弾かれるなら判るが…
でもnullを「文字列」として判定させるのはあり得ないような。
単にアセンブラが英語ベースだからだよ
日本語ベースで出来てたなら未入力とか零で同じ事が起こる
明らかに設計ミス。
そんな判定してないよ
「"SELECT * FROM name=" + $str;」みたいに入力された文字を何もせず直接使うと発生する問題
Webでは基本的に外から入ってきた入力は全て間違っている、あるいは攻撃されていることを
前提に処理しなくてはならないというのが基本
普通はサニタイズやプレースホルダーを使ってこのような問題は起こらないが
意識低い系の低レベルプログラマーがやらかすとこうなる
文字列に変化してからNullチェックしてるの?
むしろチェックをしてないからこんな現象が起こってる
ドイツ語も英語ももとはゲルマン語(西)だからね
DBで管理するに文字列はStringだろうし、他のデータはそれぞれの形式でやってるはず
これが分からないやつはプログラマにはなれん
インジェクション対策どうなってるのか
どんなDBプログラムの本でもこれだけはやっちゃダメって書いてあるよ
あとは共通処理を使わず、このページのこのフォームだけ違う動作をするとかいうミスもあるけどね
そんなシステム使わんわ…
× INSERT INTO hoge ( `name` ) VALUES ( $str ); そのままぶっこんでSQL文作る
○ INSERT INTO hoge ( `name` ) VALUES ( '$str' );
こういうことか
好きなSQL文実行できちゃうじゃん
この記事ねつ造だわw
システム違うの?