質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

1579閲覧

VBAスクレイピング さくらレンタルサーバーコントロールへの自動ログインについて

GoogleWindows

総合スコア23

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/09/11 02:15

いつもお世話になります。

現在、さくらインターネットのレンタルサーバーを契約しておりまして
レンタルサーバーコントロールの旧ログインフォームでは
簡単に自動ログインできていたのですが
新ログインフォームに変わってから、どうやってもできなくなっていました。

ユーザーIDとパスワードにデータを飛ばすことはできるのですが、
ログインボタンを押すと、「ユーザー名を入力してください パスワードを入力してください」とエラーが表示されるようになりました。

【さくらレンタルサーバーコントロールのログインページ】
https://secure.sakura.ad.jp/rs/cp/

VBA

1Public Sub Sakura_Login() 2 3 Dim objIE As InternetExplorer 4 Set objIE = CreateObject("Internetexplorer.Application") 5 6 objIE.Visible = True 7 Call ieView(objIE, "https://secure.sakura.ad.jp/rscontrol/") 8 Call wait(objIE) 9 10 Dim htmlDoc As HTMLDocument 11 Set htmlDoc = objIE.document 12 13 Call wait(objIE) 14 htmlDoc.getElementsByTagName("input")(0).Value = "ID" 15 htmlDoc.getElementsByTagName("input")(1).Value = "PASS" 16 htmlDoc.getElementsByClassName("button primary-button size-big block")(0).Click 17 18 Call wait(objIE) 19 20End Sub

エラー時、
テキストボックスには値が入っておりますが
該当属性のHTMLソースを見ると、Valueに値が入っておりませんでした(手動の場合は値が入ります)。

【自動の場合】

HTML

1<input class="input input-text input-default" type="text" value=""> 2<input class="input input-text input-default" type="password" value="">

【手動の場合】

HTML

1<input class="input input-text input-default" type="text" value="ID"> 2<input class="input input-text input-default" type="password" value="PASS">

また、一度でも自動でログインしようとすると
その後、いくら手動で入力しても
ページを更新しない限り、ログインできなくなります。

自動ログインを防止するためのセキュリティ対策かと思われますが
これはどういった仕組みになっているのでしょうか?

JavaScriptが動いているようにも見えますので、
対応するのは難しいでしょうか?

些細なことでも構いませんので
お知恵をお貸しいただけますと幸いです。
どうか宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

JavaScriptが動いているようにも見えますので、

対応するのは難しいでしょうか?

そうですね。ブラウザでjavascript全オフにしてログイン出来るか試してみれば分かる事ですね。
VBだけだとselenium使うの無理だと思うのでwindows使われているならseleniumの使えるC#でselenium使ってVBA用のプラグイン(コンポーネント?)を作るしか対応の方法は無いかと思われます。

投稿2020/09/15 04:41

hentaiman

総合スコア6426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GoogleWindows

2020/09/16 05:04

hentaiman様 Selenium+Chromeで.SendKeysを使用したところ、普通にログインできました。 2段階認証とか言っていた人々は一体何だったのか、という感じです。 非常に重要な情報を与えてくださり、ありがとうございました。
guest

0

2段階認証を自動で突破しようとされてるのなら、やめたほうがいいです。
攻撃とみなされてサーバー側からブロックされるかもしれませんよ。

投稿2020/09/11 03:21

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GoogleWindows

2020/09/11 04:08

さくらサーバーの方には事前に自動ログインの旨をお伝えしておりますので その点は問題ないかと思います。 JavaScriptで二段階認証になっているのですね。 中身を見てみると、JSのIf文にMousedownとkeyupの記述がありましたので ハンドルを取ってキー送信すれば可能かと考えましたが テキストボックスのハンドルが取得できませんでした。 ウインドウハンドルのみ取得してTabキーを送信し、ID・PASSWDのテキストボックスまで移動後、down/upのキーイベントを送信するといけるかもしれないと邪推しておりますが これだと常にIEをアクティブにしておかなければならない上、 失敗も多い印象です。 もっと良い方法があれば お知恵を拝借いただけませんでしょうか?
GoogleWindows

2020/09/14 06:38

m.ts10806 ご指摘されている問題の心配はないとお伝えしましたが 本件についての解決策は特にないのでしょうか? よく分からないのにご回答されたのでしょうか? 残念です。
m.ts10806

2020/09/14 22:36

>さくらサーバーの方には事前に自動ログインの旨をお伝えしておりますので 質問に書かれてないことは誰にも分かりません。伝わってないことを「分からないのに」と決めつけた上でなんの解決にもならない回答で自己解決とされるのはどうかと。
m.ts10806

2020/09/14 22:51

それに、世の中、技術や能力的に可能でもやってはいけないことってたくさんあるんですよ。 だからその可能性がある事柄に対して突破するアドバイスしたいと思う人はいないですよ。煽ってもね。 自身にリスクがあるし相手(やられる側)に迷惑をかける。「問題ない」に対する信憑性はなし。 何のためのセキュリティ強化なんでしょう。 外側から見てどんな対策をしたかわかればそれはセキュリティ対策ではありません。 私の回答はアドバイスという名の忠告です。 スクレイピングなんてもともとブラック寄りのグレーなことやろうとしてる時点で公にやるのは無理がある。
GoogleWindows

2020/09/15 04:26

>質問に書かれてないことは誰にも分かりません。 >伝わってないことを「分からないのに」と決めつけた上でなんの解決にもならない回答で自己解決とされるのはどうかと。 お伝えした後にしばらく経っても回答がなかったので、そう書いただけなのですが、そちらこそ煽られているようで何かと残念です。 >私の回答はアドバイスという名の忠告です。 これはこれは、お偉い方とは存じ上げず申し訳ないことでございます。 大先生とお呼びしたほうが宜しいでしょうか? そもそも問題を解決するために質問を投稿しております。 私は、学校の門を叩きに来ているわけではありません。 そういった説法のような回答が付いた時点で 答えようとしていた方も手を引くかもしれませんから、 妨害行為と捉えております。 解決という目的に沿った回答をしないのは、善意の皮をかぶった単なる嫌がらせです。 大先生にとっては「正しいことを言ってやったぜ」と、さぞ気持ちいい思いをされていることでしょうが、お互い時間の無駄なのでやめましょう。 私のようなどうしようもない人間に大先生の貴重なお時間を割いていただくのは非常に忍びない。 誠に恐縮ではございますが 二度とご回答しないでください。
hentaiman

2020/09/15 05:10

利用規約については知らんけど、自身の所有するアカウントにログインしたいだけなので問題を感じませんね。 これを問題視するなら大衆に向けてブラウザの自動ログインアドオンを作っている人達の方が大問題でしょう、個人利用どころか配布しているのだから。
m.ts10806

2020/09/15 05:57 編集

毎日ずっと張り付いてるわけでもなく、強制されてるわけでも通知がきたとして全て拾えてるわけでもないので、それだけで何をそこまで興奮されているのか理解に苦しみます。 「できるかもしれないけどやっちゃいけないことは幾らでもある」という話に、「なんとしてでもやりたい」と押し通されるのでしたら私ができることは通報しかありません。 解決したいならきちんと解決できるだけの情報提供をしてください。 後だしが多い人と認識されれば私が突っ込まなくても誰も相手しなくなります。 さくらサーバが二段階認証(JavaScriptとかではない、携帯SMSなども利用)にしたのもセキュリティ強化のため。自身のものであっても正規ではないルートからの突破を防ぐための対応と考えることはできませんか? 説法でもなんでもない。学校とか関係ない。 単にやりたいことどんな悪手でもやりたいのに突っ込まれていじけてるだけじゃないですか。 せめて公開されてない場所で秘密裏にやってください。 あと、1ユーザーのことを記憶しておかなければならないのですか?どこまで強制されるおつもりでしょうか。 別に皮肉とか丁寧に言わなくていいので、きちんとアドバイスの意味を理解、把握してください。
m.ts10806

2020/09/15 05:43

hentaimanさん 用途は不明ですね。書いてないから。 私自身もさくら使ってますが、二段階認証は自動ログイン防止のようにも見えますね。ワンタイム発行しますから、無理です。 逆に何回もやろうとしてたらブロックされる可能性はありそうです。総当たり攻撃とみなされるかも。
hentaiman

2020/09/15 05:59

> 用途は不明ですね。書いてないから。 元々ログイン出来てたという文面も併せて自分のアカウントを使っていると判断しましたが > 二段階認証は自動ログイン防止のようにも見えますね。ワンタイム発行しますから いいえ、自動ログイン防止の為ではなく不正アクセス防止の為です。 自動ログイン防止目的なら二段階認証は不要で、例えばrecapchaなどでしょうね。 > 逆に何回もやろうとしてたらブロックされる可能性はありそうです。総当たり攻撃とみなされるかも。 試した事ないので知りませんが、一定の間隔・短い間隔でリクエストを送り続ければそうかもしれませんね。 まあブラック寄りのグレーと言っている点が気になったので。
m.ts10806

2020/09/15 05:59

まあ、プラン次第かもしれませんけど、二段階認証は有効無効切り替えられるみたいなので、無効にしてもできなければ諦めることですね。
m.ts10806

2020/09/15 06:06

>元々ログイン出来てたという文面も併せて自分のアカウントを使っていると判断しましたが 行動の主語がなかったので断定はできないと思ってます。そういうツールを提供している可能性も疑えなくもない。 自身でアカウントは持ってるのかもしれませんが。 >いいえ、自動ログイン防止の為ではなく不正アクセス防止の為です。 自動ログインも場合によっては不正アクセスと捉えられなくもないという意味で表現しました。絶対にこうだという意味ではありません。 >まあブラック寄りのグレーと言っている点が気になったので。 これはあくまで私見です。 スクレイピング自体に良いイメージはないですし、なんでもかんでも使っていいものではないと思います(リスクを知らずにやろうとしている質問者が多い現状もありますし)。
GoogleWindows

2020/09/15 07:43 編集

大先生は想像力が豊かな方のようですね。 一人で壮大なストーリーを作り上げているようだ。 ドラマの脚本でも書いてみたらどうですか? スクレイピングの何たるかを知らずにやっていると勝手に決めつけて忠告してくるくらいですから、きっと先入観の塊で出来ているような方なのでしょう。 大先生は基本的に質問者を見下しているのではありませんか? 「質問してくるような奴は無能だからスクレイピングの作法も知らないんだろう」などと思っているのではありませんか? まあ大先生に限ってそんなわけないですよね。 通報するならばいちいち申告せずに黙ってすればよいものを。 こちらは許可を取っていると言っているのに信憑性がどうのこうのとイチャモンをつけてきて、挙句、通報などという中学生の脅し文句を出してくるとは笑止千万。 それから、あなたの回答は要らないと先ほど申し上げたのですが 日本語を理解されていますか? 第三者が現れた途端、水を得た魚のように人の質問の上を泳ぎ回らないでいただきたい。 大方、有識者のhentaiman様のド正論に慌てて言い訳を並べたといったところでしょうか。 大した知識もないのに根拠なく発言するあなたの回答にこそ信憑性が有りません。 このページだけでいいのでどうか回答をすべて消してくださいませ。 hentaiman様 ご回答ありがとうございます。 最初にあなた様からのご回答をいただけていれば良かったのですが とんだ邪魔が入ってしまいました。 一定の間隔・短い間隔でリクエストを送り続けるようなコードにはなりそうにありませんので その辺は心配ないかと思います。 スクレイピングがブラックという意見は、ファイル共有ソフトがブラックとか、すべてのエミュレーターがブラックとか言っている連中と変わらないですよね。 取り扱いさえ間違えなければ、何の問題もないのに、思い込みと独りよがりの正義感と無知でここまで否定してくるのですから、とんでもない輩です。 hentaiman様がご回答くださって本当に良かったです、スッキリ致しました。 また機会がありましたら、宜しく御願い申し上げます。
guest

0

m.ts10806

ご指摘されている問題の心配はないとお伝えしましたが
本件についての解決策は特にないのでしょうか?
よく分からないのにご回答されたのでしょうか?
残念です。

投稿2020/09/14 06:37

GoogleWindows

総合スコア23

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

AkitoshiManabe

2020/09/15 06:28

「二段階認証」という言葉でも必要十分な回答と思います。 この語で検索:https://cybersecurity-jp.com/security-measures/29203 このページで説明されるとおり、二段階認証の方法は幾つか種類がありますし、古くから採用されていたパスワード(ワンタイムパスワード)形式の場合でも、ユーザ側で自動化が難しい方法を採用しているはずです(新しいサービスでは尚のこと)。 ログイン関連は、「不正アクセス」という現行法に抵触しかねないデリケートな内容ですので、本来は、APIの有無など、さくらインターネット株式会社様へ直接、問い合わせるべきでしょう。 公開された場で議論する内容ではないと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問