【テスト】PHPで2chにHello Worldを書き込む 2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/03/09(土) 09:48:56.93ID:???!ninjaテストやトリップテスト等もこちらでどうぞ。
※忍者ID確認は名前欄に !ninja
■初代スレ
PHPを使って2ちゃんねるにHello Worldを書き込む
http://toro.2ch.net/test/read.cgi/tech/1232331701/
*スレ削除済み。閲覧は過去ログ保存サイトでどうぞ
■関連スレ
Perlを使って2ちゃんねるにHello Worldを書き込む
http://toro.2ch.net/test/read.cgi/tech/1184483810/
0152>>62再掲
2013/07/07(日) NY:AN:NY.ANID:???下記の「*ここに FOXdayo〜から始まる文字列を記入*」 の部分を自分のHAPに置き換えれば
>>61のように書き込めるよ
<?php
$body = "submit=%8F%91%82%AB%8D%9E%82%DE&FROM=%21ninja&mail=sage&MESSAGE=Hello+world&bbs=php&key=1362790136&time=1";
$length = strlen($body);
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: kohada.2ch.net\r\nUser-Agent: Monazilla/1.00\r\n".
"Referer: http://kohada.2ch.net/test/read.cgi/php/1362790136/l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("kohada.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=*ここに FOXdayo〜から始まる文字列を記入*;\r\n";
$out = $head.$cookie."Content-Length: ".$length."\r\n\r\n".$body;
$fp = fsockopen("kohada.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
0153>>63再掲
2013/07/07(日) NY:AN:NY.ANID:???【HAPの確認方法:JaneStyleを使っている人の場合】
Jane2ch.exe の入ってるフォルダの中にある Jane2ch.ini をテキストエディタで開く。
そうすると349行目あたりに HAP=FOXdayo******** という文字列があります。
それがHAPです。
0154>>78再掲
2013/07/07(日) NY:AN:NY.ANID:???$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=*ここに FOXdayo〜から始まる文字列を記入*;\r\n";
↓
$cookie .= "NAME=\"\"; MAIL=\"\"; yuki=akari; HAP=FOXdayofffae8934aa99usohap68a0638cc34867123c2usohap2a0766fa274fdfee88f0c34f4ff331043d9e43f4b35265ce9e9c75a9a0b24ba522bfa70ce7b7dab04f8;\r\n"
こんな感じなる。上のHAPはテキトーな文字列だから書き込めないけどな。
で、実行させると普通に投稿できる。クッキーを触る必要一切なし。
0155nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???print ("HelloWorld");
?>
0156nobodyさん
2013/07/08(月) NY:AN:NY.ANID:???print "HelloWorld";
?>
0157140
2013/07/09(火) NY:AN:NY.ANID:???0158140
2013/07/12(金) NY:AN:NY.ANID:???0159140
2013/07/13(土) NY:AN:NY.ANID:???0160140
2013/07/14(日) NY:AN:NY.ANID:???0161140
2013/07/14(日) NY:AN:NY.ANID:???0162140
2013/07/15(月) NY:AN:NY.ANID:???0163140
2013/07/16(火) NY:AN:NY.ANID:???0164140
2013/07/17(水) NY:AN:NY.ANID:???0165nobodyさん
2013/07/17(水) NY:AN:NY.ANID:???0166140
2013/07/18(木) NY:AN:NY.ANID:???0167140
2013/07/18(木) NY:AN:NY.ANID:???0168140
2013/07/18(木) NY:AN:NY.ANID:???0171140
2013/07/20(土) NY:AN:NY.ANID:???0172nobodyさん
2013/07/21(日) NY:AN:NY.ANID:???0173140
2013/07/21(日) NY:AN:NY.ANID:???0174140
2013/07/21(日) NY:AN:NY.ANID:???01752ch初心者
2013/07/22(月) NY:AN:NY.ANID:1veVFrFm01762ch初心者
2013/07/22(月) NY:AN:NY.ANID:1veVFrFm初投稿!
0177140
2013/07/22(月) NY:AN:NY.ANID:???0179140
2013/07/23(火) NY:AN:NY.ANID:???0180140
2013/07/23(火) NY:AN:NY.ANID:???0181140
2013/07/23(火) NY:AN:NY.ANID:???0182140
2013/07/24(水) NY:AN:NY.ANID:???0183140
2013/07/25(木) NY:AN:NY.ANID:???0184140
2013/07/25(木) NY:AN:NY.ANID:???0185140
2013/07/26(金) NY:AN:NY.ANID:???0186140
2013/07/27(土) NY:AN:NY.ANID:???0187140
2013/07/27(土) NY:AN:NY.ANID:???0188140
2013/07/27(土) NY:AN:NY.ANID:???0189140
2013/07/28(日) NY:AN:NY.ANID:???0190140
2013/07/28(日) NY:AN:NY.ANID:???0191140
2013/07/29(月) NY:AN:NY.ANID:???0192140
2013/07/29(月) NY:AN:NY.ANID:???0193140
2013/07/30(火) NY:AN:NY.ANID:???0194140
2013/08/01(木) NY:AN:NY.ANID:???0195140
2013/08/01(木) NY:AN:NY.ANID:???0196140
2013/08/02(金) NY:AN:NY.ANID:???0197nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???テスト
0206nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???0208nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0209nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0210nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0211nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0212nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0213nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0214nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0215nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0216nobodyさん
2013/08/06(火) NY:AN:NY.ANID:YG2kFbuC0217nobodyさん
2013/08/06(火) NY:AN:NY.ANID:???クロスチョップクランチ
http://www.youtube.com/watch?v=xD_iiqyiGkg
アブアイソメトリック
http://www.youtube.com/watch?v=Uktydo8dCVE
レッグレイズ
http://www.youtube.com/watch?v=OoooygrjKxU
0219nobodyさん
2013/08/08(木) NY:AN:NY.ANID:W65tVYnZ0221● 忍法帖【Lv=5,xxxP】(0+0:8)
2013/08/11(日) NY:AN:NY.ANID:???0222● 忍法帖【Lv=5,xxxP】(1+0:8)
2013/08/11(日) NY:AN:NY.ANID:???0223笳 忍法帖【Lv=5,xxxP】(2+0:8)
2013/08/11(日) NY:AN:NY.ANID:???0224??? 忍法帖【Lv=5,xxxP】(3+0:8)
2013/08/11(日) NY:AN:NY.ANID:???0225● 忍法帖【Lv=5,xxxP】(4+0:8)
2013/08/11(日) NY:AN:NY.ANID:???0227nobodyさん
2013/08/13(火) NY:AN:NY.ANID:???0228nobodyさん
2013/08/13(火) NY:AN:NY.ANID:???0230nobodyさん
2013/08/13(火) NY:AN:NY.ANID:P7TWu4Y6まず1度目にpostデータを送ってcookie確認が出ると思うんですがその時の処理とかは
どこでやってるんですか
0231nobodyさん
2013/08/13(火) NY:AN:NY.ANID:???$fp = fsockopen("kohada.2ch.net", 80, $errno, $errstr, 30);
if (!$fp) {echo "$errstr ($errno)<br>\n";exit;}
fwrite($fp, $out);
$cookie = "Cookie: ";
while (!feof($fp)) {
$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
}
fclose($fp);
0232nobodyさん
2013/08/13(火) NY:AN:NY.ANID:???$str = fgets($fp, 128);
if (strpos($str, "Set-Cookie: ") === 0) {
$str = str_replace("Set-Cookie: ", "", $str);
list($cook, ) = explode(";", $str);
$cookie .= $cook."; ";
}
この辺はのこと?
この辺はcookieから自分のホスト情報を抽出してるだけだよ。
自分のホストがわかってる人ならこの部分をゴソッと省略することができるよ
0233nobodyさん
2013/08/13(火) NY:AN:NY.ANID:???1度目のpostは何のためにやってるのかというと、postすると2chから送られてくるcookieに自分のホストが入ってるんだよ。
そのホスト情報が必要だから仮にpostしてるだけ。
さっきも書いたように自分のホストがわかっていれば1度目のpostは省略可能です
0234● 忍法帖【Lv=5,xxxP】(-1+0:8)
2013/08/14(水) NY:AN:NY.ANID:???0235● 忍法帖【Lv=5,xxxP】(0+0:8)
2013/08/14(水) NY:AN:NY.ANID:???0236nobodyさん
2013/08/14(水) NY:AN:NY.ANID:???0238● 忍法帖【Lv=1,xxxP】(3+0:8)
2013/08/14(水) NY:AN:NY.ANID:???0239● 忍法帖【Lv=5,xxxP】(4+0:8)
2013/08/14(水) NY:AN:NY.ANID:???0240● 忍法帖【Lv=40,xxxPT】(5+0:8)
2013/08/14(水) NY:AN:NY.ANID:???0241nobodyさん
2013/08/14(水) NY:AN:NY.ANID:???0242nobodyさん
2013/08/14(水) NY:AN:NY.ANID:3o4o9MeMありがとうございます
送られてきたリクエストの中のhostをそのまま変数に入れてまたpostしてるんですね!
0243nobodyさん
2013/08/14(水) NY:AN:NY.ANID:???>>152のスクリプトの後半部分に直接ホストを直書きすればいいので
スクリプトの後半だけで投稿できるよ
0245nobodyさん
2013/08/14(水) NY:AN:NY.ANID:???0247nobodyさん
2013/08/23(金) NY:AN:NY.ANID:???iPhoneで
こんにちは
0248nobodyさん
2013/08/26(月) NY:AN:NY.ANID:???0249nobodyさん
2013/08/27(火) NY:AN:NY.ANID:???0250nobodyさん
2013/08/27(火) NY:AN:NY.ANID:???0251>>62の改造(その1)
2013/08/28(水) NY:AN:NY.ANID:???# ######## 設定ここから #########
# 名前
$name = "nobodyさん";
$mail = "sage";
# コメント
$mess = "Hello+world";
# 書き込み先のスレ
$url = "http://kohada.2ch.net/test/read.cgi/php/1362790136/";
# あなたのHAP
# *HAPというのは忍法帖のIDのことです。
#
# 【HAPの確認方法:JaneStyleを使っている人の場合】
# Jane2ch.exe の入ってるフォルダの中にある Jane2ch.ini をテキストエディタで開いてください。
# 349行目あたりに HAP=FOXdayo******** という文字列があります。それがHAPです。
# 下記は使用できない架空のHAPでの記述見本です。
# $hap = "FOXdayofffae8934aa99usohap68a0638cc34867123c2usfdfee88f0c34f4ff331043d9e43f4b35265ce9e9c75a9a0b24ba522bfa70ce7b7dab04f8";
$hap = "";
# ######## 設定ここまで #########
mb_language( 'Japanese' ); // これは環境によって不要
mb_internal_encoding( 'SJIS' ); // これは環境によって不要
mb_regex_encoding( 'SJIS' ); // これは環境によって不要
0252>>62の改造(その2)
2013/08/28(水) NY:AN:NY.ANID:???$body = "submit=%8F%91%82%AB%8D%9E%82%DE&FROM=" . $name . "&mail=" . $mail . "&MESSAGE=" . $mess . "&bbs=" . $bbs . "&key=" . $key . "&time=1";
$length = strlen( $body );
$head = "POST /test/bbs.cgi HTTP/1.1\r\nHost: " . $server . "\r\nUser-Agent: Monazilla/1.00\r\n" .
"Referer: http://" . $server . "/test/read.cgi/" . $bbs . "/" . $key . "/l50\r\nContent-Type: application/x-www-form-urlencoded\r\n";
$out = $head . "Content-Length: " . $length . "\r\n\r\n" . $body;
$fp = fsockopen( $server, 80, $errno, $errstr, 30 );
if ( !$fp ) {
echo "$errstr ($errno)<br>\n";
exit;
}
fwrite( $fp, $out );
$cookie = "Cookie: ";
while ( !feof( $fp ) ) {
$str = fgets( $fp, 128 );
if ( strpos( $str, "Set-Cookie: " ) === 0 ) {
$str = str_replace( "Set-Cookie: ", "", $str );
list( $cook, ) = explode( ";", $str );
$cookie .= $cook . "; ";
}
}
fclose( $fp );
■ このスレッドは過去ログ倉庫に格納されています