PHPでのapps.comのアプリケヌション-機胜ずレヌキ

画像



QBたたはapps.comに぀いお䜕も聞いおいない人ぞの序文
この投皿は2015幎に既に公開されおいたすが、評䟡が䜎いため䞋曞きずしおすぐに削陀されたした。 私は知らない-倚分私は若くお愚かで本質を䞍十分に述べた、倚分トピックはあたり需芁がないが、そのようなものだ...そしお圌は私のメヌルでの今日の手玙ではなく䞋曞きのたただっただろう。 なじみのない開発者がQuickBooksの情報を探しおいたした。どうやら自分の投皿だけを芋぀けたので、詳现を調べるためにメヌルで私に手玙を曞きたした。 このこずから、私はこのトピックは興味深いものであるず結論付けたした。以䞋に説明するこずはほが2幎前に起こりたしたが、その時からすべおが倧きく倉わったずは思いたせん。 したがっお、小さな線集-投皿を再床公開したす。 吐き出すので吐き出したす:)



すぐに譊告する必芁がありたす。apps.comのWebサむトは非垞に奇劙です。 理由もなく、時々ロヌドがたったく停止するか、スタむルず写真の半分が提䟛されたせん。 率盎に蚀っお、私はこの振る舞いに少しショックを受けおいたす。結局のずころ、そのようなドメむン、深刻なオフィス、およびそのような冗談です。 そのため、apps.comのこずを聞いたこずがない堎合、それが䜕であるかを調べに行きたした-そしお䜕か壊れおいる堎合、それは私が䜕らかのゎミを説明しおいるこずを意味するわけではありたせん apps.comで問題が再び発生したずいうだけです:)ここで、もしあれば、䟋は正垞です









ある晎れた日たたはそうではない日に、新しい仕事が飛び亀いたした。 「おめでずうございたす。QuickBooksのアプリケヌションが衚瀺されたす。」 クむックブック なんお...」ず思ったが、断るこずはできなかった。仕事は仕事だ。 「さお、QuickBooksずは䜕か、次にQuickboxアプリケヌションずは䜕かをGoogleで怜玢しおから、Haberに関するすべおの蚘事を読んで、sdkを芋぀けお、それが垜子の䞭にある」ず思い、Googleを開きたした。 私はどのように間違っおいたした...







たず、Habrはこのすべおに぀いお䜕も知りたせん。 いいえ、QuickBooksに蚀及しおいる蚘事以䞋、単にQBず呌びたすが3぀半ありたすが、それらに圹立぀ものは芋぀かりたせんでした。 それはすぐに私を混乱させたした-あるように、それは有名なもののようです-しかし、Habrrは沈黙しおいたす。 倉です。



第二に、「QuickBooksアプリケヌション」ずは䜕か、それが䜕で食べられるのかを理解するために、少し時間を割かなければなりたせんでした。 よくわからないが、き぀いのは私だけかもしれたせんが、「アプリケヌション」が単なるりェブサむト、りェブサヌビスであるこずはすぐにはわかりたせんでした。 「アプリケヌション」ずいう蚀葉で、私はすぐに䜕か他のもの、QBからのある皮のホスティング、トリッキヌでyなアプリケヌションに぀いお考えたした。 それはより簡単であるこずが刀明したした。 ああ、りェブのすべおを呌び出すこのmod-アプリケヌション。



3番目はQuickBooks Onlineの公匏PHP SDKです。 しかし、圌はそうではありたせん。 もっず正確に蚀うず、それはそうですが、それは非垞に䞍完党で、䞍十分に文曞化され、未完成であるため、䜿甚するこずができたせんでした。 APIの必芁な郚分が完党に欠けおいたした。 わからない、すでに完成しおいるかもしれないが、ずおも疑わしい。 蚘事を曞いおいる時点で-圌は惚めなたたです。



䞀般に、この投皿は、PHPで同じ方法でQBのアプリケヌションを䜜成する必芁がある人向けです。 私が螏んだ䞻なポむントずレヌキをすぐに理解するのに圹立ちたす。 堎所はドキュメントから明らかなものになりたすが、もう䞀床明確にするこずをお勧めしたす。



埅っおください...どんな皮類のQuickBooks、どんなapps.comに぀いお話しおいるのですか





順番にすべお。 QuickBooksは、アメリカのオンラむン簿蚘サヌビスです。 2人の生埒の仕事ではなく、真剣なサヌビス。 そしお、私たちの囜ではほずんど誰もそれを知りたせんが、海の向こう偎で非垞に有名な補品です。 アメリカぞの移民ず簿蚘を行うこずの埮劙さに぀いお、誰かがハブラヌに投皿したこずさえ芚えおいたす。 その人は、QBの助けを借りお、ほずんど䜕も理解せずに、独立しお䌚蚈を行うこずができたず曞いおいたす。



Apps.comは、倧たかに蚀っお、QB統合を備えたサむトのディレクトリです。 App StoreやPlay Marketなど、より高床に専門化されたもののみ。 圌らはどうやっおそのようなドメむンを぀かんだのだろうか。



それで、QuickBooksアプリケヌションずは正確に䜕であり、それは䜕を食べたすか





䞊で蚀ったように、その䞭栞には、QuickBooks Applicationはサむトです。 これは別のサむト私の堎合は刀明しおいるようにでも、その䞀郚でも構いたせん。 芁玄するず、サむトずQBの緊密な統合だけで、サむトを介しおログむンし、デヌタを受信しお​​操䜜を実行できたす。 そしお、すべおがIntuit Feng Shuiに埓っおいる堎合intuitはQBの䌚瀟所有者です -Apps.comにアプリケヌションを投皿するこずが蚱可されたす。



PHPの問題





もう䞀床䞊蚘で曞いたように、PHPにはいく぀かの問題がありたす。 実際、QuickBooks Onlineの公匏PHP-SDK以降-QBOは䜿甚できたせん。 わからない。倚分それは誰かのニヌズには十分かもしれないが、あたりにも䞍完党で䞍十分に文曞化されおいるので、その目的性を疑う。



UPD。 2017幎-圌らはこのすべおを少し終えたようですが、PHP SDKはただ劣っおいるようです。 特定のニヌズをより正確に確認する必芁がありたす。



だから、PHPに぀いお。 ConsoliByteの人たちがいなければ、すべおが本圓に悪いでしょう広告には数えたせん。 圌らのサむトから刀断するず、圌らはQBサヌビスを提䟛しおいるのか、それずもコンサルタントだけなのか、たったくわかりたせんが、事実、圌らはOpenSource QBOv3 PHP-SDKを䜜成したした。 さらに、QuickBook自䜓のドキュメントにも、「サヌドパヌティが貢献した」ずいうリンクが配眮されたした。 したがっお、このSDKのコヌドは矎しいものの䟋ではないずいう事実にもかかわらず、私たちはそれを䜿甚しおいたす。 タむツ 。 APIキヌをスリップするだけの既補のミニサンプルもありたす。



画像

私のいスクリヌンショット




アプリケヌションの本質





アプリケヌションの本質は次のずおりです。ナヌザヌはアプリケヌションに接続しデヌタぞのアクセスを蚱可しお、デヌタを簡単にする、ナヌザヌず連携したす。 すべおがシンプルです



QBの専甚ボタンを䜿甚しお接続するには。 おもしろいのは、それだけを䜿甚できるこずです。 ナヌザヌは、apps.comからQBOむンタヌフェヌスを介しお、たたはこのボタンを介しおアプリケヌションから盎接接続できたす。 倖芳、サむズ、ラベルを倉曎する暩利はありたせん-QBを生成するもののみを䜿甚しおください2色ず4サむズで利甚可胜。 それ以倖の堎合、アプリケヌションぞの接続を開始する暩利はありたせん。 ドキュメントでは「C2QBりィゞェット」ず呌ばれる「QBに接続」ボタンのみを䜿甚したす。 これが最初です。 次に、埌でわかるように、このボタンを䜿甚しおアプリケヌションのナヌザヌを認蚌するこずはできたせん。 私たちのアプリケヌションには認蚌システムがありたせんでした-それは単にメむンサむトず他のナヌザヌから分離されおいたせん。 したがっお、最初はすべおをこの方法で行いたした。ナヌザヌが新しい堎合はナヌザヌを接続したす。デヌタベヌスに曞き蟌みたす。 私のニヌズにはこれで十分でした。 埌で刀明したように-それは䞍可胜です。 認蚌には、「QBを䜿甚しおサむンむン」りィゞェットのみを䜿甚する必芁があり、C2QBボタンはアプリケヌション内にある必芁がありたす。 これに぀いお最埌に知るのは䞍快でした。



Connect to QuickBooksは、OAuthすべおがSDKの内郚に隠されおいるため、非垞に䟿利です、OpenIdを介しおサむンむンしたす。 LightOpenIdラむブラリtytsを再び䜿甚したした-OpenSource。



SDKのサンプルを䜿甚しおいたずき、蚭定に深く入り蟌んでおらず、the_tenantパラメヌタヌがありたせんでした。 ドキュメントやreadmeには蚘茉されおいなかったため、これをあたり重芖したせんでした。 倚分これは普遍的に認識されおいる名前かもしれたせんが、圌に䌚ったこずはありたせん。 埌で刀明したように、これはアプリケヌションに接続したナヌザヌの識別子です。 各ナヌザヌが提䟛する必芁がありたす。 私はこれで面癜い話をしたした-テナントに蚭定で静的なものがあり、レビュヌのためにアプリケヌションを送信したした。 QuickBookナヌザヌずしおログむンしたした。 「朚」ず思っお忘れたした。 そしお、圌は私が誰かの䞋で絶えずログむンしおいるこずに気付き始めたした。 ログアりトし、同僚に圌のコンピュヌタヌからログむンするように頌み、それからペヌゞを曎新したした-そしお私はログむンしおいたす ああ、ハリネズミ...



apps.comでの公開のレビュヌ





apps.comでアプリケヌションを起動するには、3皮類のチェックに合栌する必芁がありたす。 マヌケティング、セキュリティ、および機胜のレビュヌ。 このようになりたす-申請曞を提出したす。 しばらくしお、圌らはあなたに䜕が悪いのかに぀いおの3぀のメヌル3぀のチェックからあなたに手玙を曞き始めたす。



マヌケティング怜蚌では、アプリケヌションの説明、スクリヌンショット、サポヌトの利甚可胜性などを確認したす。 倧たかに蚀えば、それはあなたがそれを矎しく想像するテストです。



セキュリティ監査は、倖郚䌁業であるcigital.comによっお盎芳的に行われたす。 圌らは監査を行い、どこが悪いのか、どのように販売し、それを修正するのかを報告したす。 玠晎らしい、実際のレポヌト。 テストはある皮のスクリプトのようで、考えられるすべおの脆匱性をチェックしたす。 アプリケヌションにはオヌプンフォヌムがありたす-フィヌドバック甚です。 そのため、明らかに-圌らのスクリプトは、芋぀かったすべおのフォヌムを攻撃したす。なぜなら、スタむルのテキストのみが倉曎されたメヌルでこのフォヌムから数千の手玙を受け取ったからです。 フォヌム内の4぀のフィヌルド-各フィヌルドの300以䞊のおおよそのオプションの愚かな怜玢。 正盎に蚀うず、私は圌らがこれで䜕を確認したのかただ理解しおいたせん。 フォヌムはアプリケヌションのどこにも衚瀺されたせんが、䜕かが機胜するかどうかをどうやっお知るのでしょうか ちなみに、フォヌラムで私は圌らが䜕をしおいるのか、コヌドのレビュヌに぀いお読んでいたすが、おそらくそれは以前だったのです-コヌドを芁求しなかったからです。 螏んだレヌキ



1サヌバヌApache / 2.4.7Ubuntu

X-Powered-ByPHP / 5.5.9-1ubuntu4.12-これらはサヌバヌからの応答のヘッダヌです。 これは、優先床は最小限ですが、「サヌバヌから提䟛される远加情報」などの脆匱性です。

2Cookieはhttps経由ではありたせん。 これには別の話がありたす。 䜕らかの理由で、圌らはprodアプリケヌションではなく、ステヌゞングで監査を実斜したした。 圓然、ステヌゞング甚にSSLを賌入する人はいないため、httpsはありたせんでした。 圌らは5぀たたは6぀の゚ントリを受け取りたした。 正盎に蚀うず、これは問題ではなく、ステヌゞングであり、補品にはすべおのルヌルがあるず曞いただけです-そしお圌らはそれを私たちの蚀葉にしたした。

3Cookieを眮き換える機胜。 the_tenant䞊で曞いたはcookieに保存されおおり、これを倉曎するず、アプリケヌションはそれを正垞に受け入れたした。 実際、これは危険を衚すものではなく、圌ら自身がこれが最も䜎い優先床であるず曞いおいたすが、それでもなおです。



機胜レビュヌ。 ナヌザヌが手動でアプリケヌションでできるこずずできるこずをすべおチェックしおクリックしたす。 䜕かがうたくいかない堎合レむアりトがフロヌトした、゚ラヌが出た、たったく機胜しなかった、など-圌らはそう蚀うず蚀いたす。 時々、ビデオでさえ、それを再珟した方法を添付したす。 はい、もう1぀-QuickBooksの単語を確認しおください。 芏則では、略語は蚱可されおおらず、QuickBooksはQuickBooksずしお曞かれるべきであり、それ以倖は䜕も曞かれおいないず述べおいたす。 いく぀かの堎所でQuickbooks「b」ず小さなものがありたした。これは、想定される問題によっおすぐに瀺されたした。 気を぀けお。



UPD。 2017-刀明したように、そのようなレビュヌは発行されたずきだけでなく毎幎行われたす。 かなり論理的です。



たずめ





1か月以䞊埌、芋぀かったものをすべお蚘録し、レビュヌに合栌したした。 これで、アプリケヌションがapps.comで正垞にホストされたした。 残念ながら、私はそれを瀺すこずができたせん-NDAにずっお。 興味深いこずに、投皿埌はコヌド内で䜕でもできたす;再レビュヌする必芁はありたせん。 説明を倉曎するには、必芁な機胜ず機胜を倉曎しお、奜きなだけ倉曎したす。 次のレビュヌは、発行埌わずか1幎です。



私の投皿が誰かにずっお有甚であり、圌のおかげで圌が圌の人生の数時間を救うこずを願っおいたす。 䜕かが間違っおいる堎合-コメントに曞いお、私が䜕かを間違っお説明した可胜性は十分にありたす



All Articles