元スレ+ JavaScript & jQuery 質問用スレッド vol.7 +
JavaScript覧 / PC版 /みんなの評価 :
601 = :
なんだよここは>>600みたいな気違いの巣窟なのかよ
もう少し建設的な話がしたいんだが、お前邪魔だよ・・・
602 = :
>>600
今の話はブラウザのJavaScriptだけでDoS攻撃は可能かという話
答は可能
>>588でいきなり間違いがでて困ったものだが
そのすぐ次の>>589で正解が出てる
というのをこのレスで明らかにしただけ
他に何も言うことはないでしょ
603 = :
まあ結局は道路って規制速度が決まってるんだからそれを目安にして走ればいい
Ajaxする時も同じで、サーバのスペックを予想するくらいはして適切な塩梅決めなきゃ駄目
604 = :
>>602
グダグダ曖昧や冗長に言うのもアレだし、流れをぶった切る効果も狙って少し大袈裟に書いたのは事実だけど、
「なる事はない」というのはブラウザでDoS攻撃をするのが原理的に不可能だと言ってるのとは全然違うよ
質問者が注意深くコードを書かなかったせいで、実際にDoS攻撃として明らかな問題になってしまうことは想定しづらいので、
他の最適化系の問題もそうだけど、昔と比べてもっと楽に愚直に書いても良いんだよ
大袈裟に心配しすぎだよと言うことが言いたかった
605 = :
また基地外長文わいてるのかよ
606 = :
> 質問者が注意深くコードを書かなかったせいで、実際にDoS攻撃として明らかな問題になってしまうことは想定しづらいので
想定しづらいんじゃなくてお前が、想定してないだけだろ
んで、指摘してもそれがわからんのだろ?
クローラー=ページを大量に取ってくるツールを作っているのなら、
ページを取ってくる間隔に関して注意深くコードを書かないとDoS攻撃になる
それが答えな。
そりゃそうだろ相手の能力が許す限り
連続でページを取ってくるんだから
607 = :
クローラー側の環境(回線速度や利用者のCPU)がボトルネックになる "かも" しれないが
"かも" っていうことはボトルネックにならない "かも" しれないっていうことだ
負荷をかける可能性もある。
環境がわからないからって、自分の都合が良い環境を想定するんじゃないよ
現在の与えられた情報からだとDoS攻撃になるかもしれないのはあきらか
608 = :
クローラーがサイトに置いてある、robot.txt に従っていない場合、
相手が訴えて、業務妨害になる、可能性が高い
robot.txt が業界標準
609 = :
>>608
robots.txt だけだと思ってたわ
なんか新しく増えたん?
610 = :
クローラーというか単にAjaxの話じゃね
611 = :
>>608
関係ない話はやめてくれないかね?
いちいちなんで関係ない話なのか説明せにゃいかん?めんどくせーな。
robots.txtにはアクセス頻度の制限を書く所なんてないだろ
今の話は仮に書いていたとしても、10人が同時にクロールしたら
その数値の意味がなくなるからな
613 = :
いいやそうじゃない
今日みたいに回線トラブルで輻輳が起きれば1分置きだろうが迷惑
きちんと専用のAPIを設計して、一つずつ叩く以外無い
614 = :
>>613
その話は終わってる。
>>612の質問は、インターバル分は確実に
次のクロールをしないのかってこと
>>612
その通り。setIntervalで指定した時間は必ず待つ
ただし前のリクエストが戻ってきてから一定時間後に次のリクエスト発行ではなくて
前のリクエスト発行してから戻って無くても一定時間後にリクエストを発行するから注意
仮にサーバーの処理時間よりも短い間隔でリクエストを発行すると
徐々にサーバーに未処理のリクエストが溜まっていってとDoS攻撃になる可能性がある
遅くなってもよいのならsetTimeoutを使ってリクエストが返ってきてから
次のリクエストを発行するほうがよい
615 = :
> きちんと専用のAPIを設計して
これは意味不明。こいつはAPIの意味をわかってないんだろうなって思う。言いたいのはそんだけ
616 = :
>>614
>前のリクエスト発行してから戻って無くても一定時間後にリクエストを発行するから注意
>586のコードだとldがture中はリクエストしないような気がするけど
617 = :
>>616
そんな方法で逃げてたとは思わんかったわw
!0とか!1とか意味がわかりづらいし、変なコードだな
618 = :
言い訳乙
謝罪しろ
619 = :
クソコード書くな
これが謝罪だ
620 = :
理解できないおまえの脳みそがクソなだけ
謝罪しろ
621 = :
大人ならもし相手が分かりにくかったせいで自分が悪くないとしても
自分の発言を取り消すに当たって謝罪くらいするだろ
622 = :
.(::(:::(::::/ ̄ ̄ ̄ ̄\::::::):::)::)
(::(:::(:::)/・\ /・\(:::):::)::)
.(::(:::(:::)  ̄ ̄  ̄ ̄ (:::):::)::)
(::(:::(:::) (||||人||||) .(:::):::)::)
.(::(:::(;;;) \ | .(;;;):::)::)
(::(:::(::::\ \_| /::::):::)::)
623 = :
$('#hoge').append('<span class="fuga">aiu</span>');
でspanのオブジェクトで操作したいんだけど
$('#hoge').append('<span class="fuga">aiu</span>').find('.fuga').append('eo');
findじゃなくて何かもっと簡単なやつなかったっけ・・?
624 = :
$('<span class="fuga">aiu</span>').appendTo('#hoge')
か?
625 = :
>>624
そうだったかな・・
でもそれでもいけたわ㌧
628 = :
それならこれでいいだろ?
$('<span class="fuga">aiu</span>').append('eo').appendTo('#hoge');
jQueryオブジェクトを変数に入れるのは好かん
629 = :
>>628
$('#hoge').append('<span class="fuga">aiueo</span>');
それならこれと同じだろw
630 = :
appendTo二回やりたいときはどうすればいいの
$('<span></span>').appendTo('<div id="fuga"></div>').appendTo('#hoge').append('あ');
ってやって
<div id="#hoge"><div id="fuga"><span>あ</span></div></div>
ってなるかと思ったら結果は
<div id="#hoge"><span>あ</span></div>
#fuga要素がスルーされた
631 = :
>>629
.append('eo') を勝手に消すな
633 = :
外部から要素を複数取ってきて、もともとある要素にwrapしつつ挿入
さらに外部から取得した要素の下にbr要素を入れる
っていう感じ
簡易verはこんな感じで.postが外部要素だと思ってくれ
html
<div id="hoge"></div>
<span class="post">あ</span>
<span class="post">い</span>
<span class="post">う</span>
js
var $span=$('span.post');
$('<div id="fuga" />').append($span).appendTo('#hoge').after('<br>');
結果はafterが#fugaにかかってしまう
各spanの下に<br>入れたい
一行で($span抜き、find,parent,child系なしで)
634 = :
ちなみに想定する結果はこう
<div id="hoge">
<div id="fuga">
<span class="post">あ</span>
<br>
<span class="post">い</span>
<br>
<span class="post">う</span>
<br>
</div>
635 = :
>>631
結果だけなんだからそもそも必要ないだろ?
どういう頭してんだよw
636 = :
それをアスペコードと呼ぶ
637 = :
糖質がなんか言ってる
638 = :
>>635
論点は、append(appendTo)を使ってどのように
つなげて書けるかなんだから、最終結果が同じだからって
肝心のつなげて書く処理を省いたらダメ
論点がわからないってのがアスペの特徴の一つなんだろうね。
639 = :
>>634
$('span.post').appendTo(
$('<div id="fuga" />').appendTo('#hoge')
).after('<br>');
640 = :
「4桁の数字」を確認するためには
str.match(/[0-9]{4}/g);
だけど、これだと例えば
var str='aa12345678bb4321cc';
こういうとき8桁の数字(12345678)を
4桁の数字2つとしてマッチしちゃうんだけどどうしたらいいですか
641 = :
>>640
頭とお尻を付ければいい
643 = :
あ、ごめんw 読み間違えたwwww
644 = :
>>640
0-9で4回以上連続だからそうなるよ
大半が規則的な文字列だからstr.match(/[0-9]{4}/g)[1]とか、
lengthでフィルタリングしたいいんじゃないの?
645 = :
つまり文章中に存在する数学的な意味での「4桁の自然数」を判別することは
一行の正規表現だけではできない
ということでいいのでしょうか?
例えば、match(/[0-9]+/g)で「連続した数字の文字列」をmatchさせて
結果を全部ループ、4桁以外は弾く
みたいにワンクッション置けばいいのか、ということです
646 = :
var str='aa12345678bb4321cc';
str.match(/[0-9]+/g).map(n=>n.length<=4?n:null);
自分で考えてみたところの例ですが
このnullの部分を(mapの中で)無かったことにしたいのですが無理ですよね
結果が[null,4321]となるので、(map中の操作で)結果が[4321]となるようにしたい
647 = :
自己解決?しました
いろいろとぐぐってみたところgrepというjquery関数があったみたいです
var str='aa12345678bb4321cc';
$.grep(str.match(/[0-9]+/g),function(n){return n.length<=4});
でできました
649 = :
汚らしいな
アロー関数くらい使え
650 = :
すでに646で示しているのでその指摘はさすがに野暮ったいかと
類似してるかもしれないスレッド
- + JavaScript & jQuery 質問用スレッド vol.7 + (701) - [100%] - 2022/12/19 17:15
- + JavaScript & jQuery 質問用スレッド vol.8 + (1001) - [98%] - 2019/2/9 14:00
- + JavaScript & jQuery 質問用スレッド vol.6 + (980) - [98%] - 2016/11/20 14:31
- + JavaScript & jQuery 質問用スレッド vol.5 + (993) - [98%] - 2016/6/11 14:30
- + JavaScript の質問用スレッド vol.76 + (1001) - [72%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.87 + (1001) - [72%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.78 + (1001) - [72%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [72%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.77 + (1001) - [72%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.97 + (1001) - [72%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.74 + (1001) - [72%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [72%] - 2010/1/23 1:07 ○
トップメニューへ / →のくす牧場書庫について