はてなキーワード: 拡張子とは
解説ありがとう。
いや、書き込むっぽいなとは思ったんだけど、
entry = diary.entry('20070712231804')
でエントリー指定してたからなんなんだろうと思って。
editもできるってことなのかな?
それともdiary.rawあたりでよみこむアンカーかなにか?
で、そもそもRubyに詳しくない自分からするとちゃんとした使い方がそれでもわからない。
バカでごめんねなんだけど、どうやって使えばいいの?
例えば自分windowsなんで、使い方に書かれてるスクリプトを拡張子rbにして保存して、
masuda.rbの保存されているところにぶっこんでコマンドラインから実行してみた。
ずらーっと増田らしきものを読み込む。
そりゃそうだわなと思いながら文字化けの山。
diary.login('my_id', 'my_pass')
diary.my_entries.each {|entry| puts entry.content }
diary.post('Ruby is ...', <<EOS)</p>
A dynamic, open source
programming language with a
#...
ここらへんにid/passやらタイトル、本文を書けば書き込めるのかもしれないけど、
毎回スクリプトを書き換えるって感じなのかな?
書き込みに成功|失敗したらその日の増田が表示されるのかな?
あと
session[:diary] = diary.raw
...
diary = Masuda::Diary.restore(session[:diary])
の...って何でしょうか??
前回までのあらすじ
[Ruby]10日目
http://anond.hatelabo.jp/20070925223241
id/passの再発行を申請したら届いたのはなんとブログのid/passだった!!
はたして締め切りに間に合うのか!!
はい、間に合うはずもありませんね。
夏休みの宿題は夏休みがおわってからやる主義の増田ですこんにちは。
一応エントリーだけはしておきました。
サービス開始できてないけどな!
next if :next はcontinueみたいな感じ。この表記に違和感。
unless :こんな書き方にはなにかなじめない。
一行if文が嫌いな増田には余計耐えられない。
@user = params[:id].nil? ? @myuser : User.find(params[:id])
こういう書き方が嫌い。意味わからん。
正直嵌った。
あれこれいじってみたのだけど、そうではなかったようだ。
start_form_tagに :multipart => true がぬけていた。
あと、{}で引数位置指定しないといけないんだと…。
http://techno.hippy.jp/rorwiki/?HowtoUploadFiles http://www.fdiary.net/ml/rails/msg/1375/0/ start_form_tag({:action => 'create'}, :multipart => true)
これは結構やりがちなミスかもしれない。
ちなみに、本のサンプルも間違っていたので余計嵌った。
image_tagで拡張子なしのファイルを読み込むと勝手にpng拡張子がついてくる。
おかげさまで表示されない。
http://mumrik.air-nifty.com/blog/2007/05/16_r185r186_6.html
どうやら画像ファイルの拡張子が指定されていない URL だと自動的に png として扱うよ、ということらしいので、image_tag のところで url_for( ) した部分に追加修正をしてみる。
対処療法でしかない。これだとjpgしかできないので正直どうしたものか。
:content_typeを一応保存しているので後から拡張子をつくることもできるが、
きっとなにかいいものがそのうちできるはず!!というかあるはず!!
→時間がなかったのでうっちゃった
redirect_back_or_defaultの使いどころに悩む。
rubyで画像を描画させているばあい、画像にもどってしまうからだ。
この挙動は最初意味わからなかったぜ。
→時間がなかったので最初の画面に飛ばして誤魔化した
テーブルでjoinで名前だけでももってきたいとき、元のテーブルにはどうやって別名つけたらいいんだろう??
例えば、user名をuserテーブルからくっつけてもってきたい場合rubyは次みたいな
感じになるんだけど、正直気持ち悪い。
@catchcopy_pages, @catchcopy = paginate :catchcopies,
:conditions => contitions_str,
:select => 'catchcopies.id,user_id,users.login,catchcopies.catchcopy,catchcopies.created_at,vote,catchcopies.updated_at,item_id',
:joins => 'left outer join users on user_id = users.id ',
:order => 'created_at DESC' ,
:per_page => 10
ところでSchema.rbとかみるかぎりFKにも指定されていないんだが、大丈夫なのだろうか。
belongs_toとかではそこまでやってくれないものなのか。
ちなみにmigrateファイルでのalterとかの書き方はまだわかっていない。できるのかもしらない。
パスワードをメールで送ってもらってアクセスできるようになった!
われながら情けないが、SSH越しのファイル転送のしかたがわからなかった。
rcpもscpもうまくできない。
これが環境の問題なのか、自分が悪いのか、やりかたが悪いのか、
問題の切り分けがそもそもできないので諦めた。
SSHで向こうのコマンドからrcpを蹴ってるってことはこっちが開けてないとダメってことだよね?
こっち閉じてるもの…。
wgetは生きていたので他のレンタルサーバー経由ファイルを取得。
ちなみにrcpができないのであげっぱなしさ!
が、しかし。unzipがはいってない。
tarで圧縮して、
unzipがないのでzがつかえない。
せっかく
ENV['RAILS_ENV'] ||= 'production'
みたいなymlがあるのに、
dispatch.cgi
dispatch.fcgi
に書かれた
を
#!/usr/bin/ruby
に変更しなきゃいけないのは、何かあれだなと思った。
これかえてまわってたら本番とローカルで世代が分岐しちゃうじゃないか…。
ちなみにmysqlのソケットの位置も違うようなので、
/tmp/mysql.sock
↓
socket: /var/run/mysqld/mysqld.sock
をymlに設定。
できればconfファイルのフラグの書き換えだけで乗り換えしたかった。
最近linuxとかにもめっきり触っていなかったのでコマンド表を一生懸命見た。
witch ruby でインストールフォルダを割り出したり、
・・・findというコマンドが思い出せないときは情けなかった。
そうこうしながら設定完了
あれ、動かない・・・500エラーが出てる。
wget経由でdispatch.cgiをそのまま配置したのが原因でした。
中継サーバで動いちゃったみたい。tarで固めてからわたしなおしましたとさ。
うごいたーー!!
でも、登録すると文字化けしている。
おかしいなぁ……。
SQL>status
DBがlatin1になっていた…。
CREATE DATABASEも権限ないし…。
my.cnfも読み込み専用だった。
alter database XXXX DEFAULT CHARACTER SET utf8;
alter table XXXX DEFAULT CHARACTER SET utf8;
みたいな悪あがきもしてみたけど適わぬ夢。
SET NAMES utf8;
でもコネクションのところあたりでやってあげたいのだけど、
こういうときにRailsみたいなのは何がどこにあるのかわからない。
しょうがないので運営に問合わせしてみました。
ratin1は正直太刀できるきがあまりしない。
8日(のんびり)の勉強と2日(ほぼ徹夜)と1日(半日)のサーバー設定で、
が、どうなのさ・・・。RonR
なんていうか消化不良。
もっとちゃんとしたものつくりたいな……。
とりたてて特殊なルールも何をみるというポイントもかかれていないようだ。
協賛企業をみても系列一色だ。
求人情報が併載されているところをみると、もしかしたらそちらがメインのコンテストなのかもしれない。
締め切りは25日。これまでにサービスインをさせなければいけないらしい。
逆算しても23日にはローカル鯖で動いている必要があるだろう。
23日は誕生日だ。よって作業をするつもりは殆どない。
でも、誰も相手をしてくれない気がするので作業をしてしまうかもしれない。
23日までまる5日しかない。
唯一、ドリコム賞というのがComet/ShootingStarを使うことを前提としている。
Cometをメインに据えてあと5日でどうこするのは見通しが立たない。
余裕があったら追ってみよう。
積読していた本をひっぱりだす。
なにがなんだかわからないがRails言うからにはRailsが必要なのだろう。
検索してあれこれをダウンロードしてみる。
初期設定でまとめられたのないかなと再度検索。
Windows環境での Ruby on Rails (開発環境構築)
http://www.syssupo.co.jp/net_hal/ror.html
こういうのをみつけた。便利!!感謝!!最初からここから辿ればよかった。
httpd.confいじくってapache再起動掛けたらスタートできない。
困った。
見直してみたらRubyForApacheのインスコでしくじったよう。
再度設定。
HelloWorldをさっそく。
コマンドラインなら成功するのだが、rbファイルを配置してのブラウザベースの起動のさせかたがわからない。
ruby -e'puts("Hello The World!!WRyyy!!!")'
あ、、なんだ、拡張子をrbで作ったのがいけないのか。拡張子をcgiにしたら動いた。
#!ruby puts("Hello,The world!")
RailsのHello, world!はなにやらさらに違うようだ。
Railsというのはなにやらスケルトンのフレームワークなのだろうか?
http://blog.codezine.jp/editor/2007/06/ruby_on_railshello_world_1.php
ここを見ながら自分の環境にあうように書いてみたがうまくいかなかった。
開発環境もまだきめていなかったので、Eclipseをつかおうかな。何かお奨めのある?
とりあえず今日はここまで。
明日は・・・
3000系のテストサーバーの意味とか構成がさっぱりわからないのでそこら辺を弄ってみるのと、実際にRailsを触ってみるところ。あと開発環境構築かな。
http://blog.codezine.jp/editor/2007/06/aptana_eclipseruby_on_rails_1.php
ここみながら、aptana関連をなにやらわからないままいれて見たのだけど、
要求された操作は現在の構成には無効であるため、実行できません。 詳しくは詳細を参照してください。
Aptana Editor Infrastructure (0.2.9.16696) 必須: プラグイン "org.eclipse.core.filesystem"。
Ruby Development Tools (0.9.0.707021729NGT) 必須: プラグイン "org.eclipse.core.filesystem"。
filesystemプラグインがないってどういうこっちゃ。
これかな?
後で入れてみよう。
おなかがすいたので今日はここまで!
まぁ、パソコンユーザーの殆どがパソコンのことを知らないのは知ってるよ。
クリックするだけで好きなことが出来て欲しいと思ってるのは分かるけどさ。
ちょっとぐらい真面目に聞いてよ。
拡張子をしらないのは仕方ないさ…。
圧縮と解凍をしらないのもまあ仕方ないさ…。
だけど、あんたがやりたいことには必要なことだから憶えようとしてよ。
18禁ゲームやりたいんですけど、わかんないんで教えてください。
いいよそれは、教えるよ。
教えたらちんぷんかんぷんで、「面倒なんで持ってるゲームもってきてインストールしてください」。
俺が面倒だよ。バカかバカかバカなのか。
大体さ、18禁ゲームなんて他人に頼むなよ。恥ずかしくないのか。
俺はやりたいが恥ずかしいから、全部自分で検索して調べて全部自分で出来るように頑張ったよ。
だからお前もエロがやりたかったら自分で頑張ってくれよー。
分からなかったら教えるからさー、自分で出来るようになるように憶えてくれよー。
いや、前にそれでアップローダーを潰されたざますよ。
増田でしか公開していないやつだったんだけど、URL拾われたみたい。
スクリプトを埋め込まれても拡張子が画像ファイルだから動作はしないんだけど、
他にずるずるの鯖とかをみつけてそこからこっちの画像偽装ファイルをインクルードするんだと。
すると、こっちのアップローダに本体があることになるので、向こうでも発覚しにくくなる。
そんな感じ。
こっちは本体があるので、運営会社から連絡が入って、お宅のところに不正なファイルがあがってる言われてドギャーーン!
こっちでも画像だけしかアップロード許可を入れてないので、油断しまくりんぐでした。
幸い使われた形跡はなかったんだけど、ネットの世界は難しいね。
217 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/07/10(火) 13:49:40 ID:FXQEOZ3v0
http://d.hatena.ne.jp/hasegawayosuke/20061222/p1
【偽装ファイル例】
[アニメ] ○×△ 第01話 (704x396 DivX651 MXTVEXE.avi と画面上では表示されているけど・・
↓↓↓
[アニメ] ○×△ 第01話 (704x396 DivX651 MXTV(U+202E)avi.EXE 本当は実行ファイル(=ウィルスorトロイ)
↑
223 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/07/10(火) 14:08:11 ID:uF6q4aE80
>>219
よく知らないけど、RLOを複数埋め込んで巧妙に隠すんだそうだ。
.EXEの.とEとXとEが見た目上並んでるとは限らないらしい。
228 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2007/07/10(火) 14:27:58 ID:3bMjMnB90
1. コントロールパネル>管理ツール>ローカルセキュリティポリシーを開く
2. ソフトウェア制限のポリシー>追加の規則(無ければ新規作成する)を右クリック
3. 新しいパスの規則を選択
4. 参照を選択
5. 禁止したいフォルダを選択
>> kn1967
Unix系に関しては必ずしもファイルタイプを拡張子で判別しません。たしかにKDEやGnome, Firefoxは拡張子で判別しているふしがありますが、それはあくまでもアプリケーションの機能です。OSの機能としては、先頭のマジックナンバーで判断するので、たとえPerlのスクリプトをhogehoge.cという拡張子で保存したとしても、実行権限さえあれば ./hogehoge.c で実行することができます。
>> kira2007(質問主)
「HTMLソースが混じったperl」って何のことでしょうか?
もしかしてshtmlのことですか?
ごめんね紛らわしいかきかたした。
ヘッダって書いたのはバイナリヘッダね。
ファイルの先頭数バイトとファイナルにファイル情報数バイト入ってたりするじゃない。
あそこらへんに画像情報ヘッダ埋め込まれて、実態はスクリプトファイル。
ごめんね、急いで書いたから適当に書いちゃった。
アップロードを試みられたファイルを適当に名前だけのっけておくね。
jpgなんて拡張子でphp割り当ててないから動くわけもないんだけどさ、
どうもあれこれしようとした形跡はあった。
phpスクリプトをよしんば動かせたとしても、権限がないから設定を書き換えたりはできないんだけど、もし権限があったらgif画像でスクリプト動いてたんだろうね。
で、実質あまり被害が広がったとも思えないけど、txtでフィッシングサイトの置き場にされてあえなくアボン。
アップローダーとか画像アップ用のスクリプトを安全に運用するすべはないもんかのー
.174 UPLOAD data_w2box/index.htm.jpg
.251 UPLOAD data_w2box/tac6.php.jpg
.217 UPLOAD data_w2box/c99.php.jpg
72.9 UPLOAD data_w2box/d.html.JPG
4.33 UPLOAD data_w2box/mad.gif
44.6 UPLOAD data_w2box/sniper_sa.php.jpg
.246 UPLOAD data_w2box/c99built16.php.jpg
.196 UPLOAD data_w2box/cmd.jpg
4.15 UPLOAD data_w2box/shell.php.jpg
72.9 UPLOAD data_w2box/pouya2.html.JPG
.157 UPLOAD data_w2box/mefisto.txt
.119 UPLOAD data_w2box/pv2.php.jpg
78.8 UPLOAD data_w2box/rv.php.jpg
.101 UPLOAD data_w2box/hack.jpg
1.15 UPLOAD data_w2box/index.jpg
4.83 UPLOAD data_w2box/qqq.jpg
4.83 UPLOAD data_w2box/hacked sssssubay.jpg
1.15 UPLOAD data_w2box/hacked.jpg
1.15 UPLOAD data_w2box/hackedturan.jpg
1.15 UPLOAD data_w2box/hacked turan.jpg
.180 UPLOAD data_w2box/c99.jpg
.180 UPLOAD data_w2box/root.jpg
8.11 UPLOAD data_w2box/se.php.jpg
7.59 UPLOAD data_w2box/putrio.php.jpg
.144 UPLOAD data_w2box/r57.txt
.144 UPLOAD data_w2box/ugur.txt
.128 UPLOAD data_w2box/hacked_sssssubay.jpg
0.14 UPLOAD data_w2box/verification.txt
6.97 UPLOAD data_w2box/test.php.jpg
.224 UPLOAD data_w2box/tool.txt
72.9 UPLOAD data_w2box/hacked.txt
つか、こいつわかりやすい名前つけるよな。。
ちなみに最後のやつがPayPalのフィッシングサイトだそうで、
サーバー管理にひっかかった。
http://anond.hatelabo.jp/20070529203018
それってHTTPサーバのログからとったやつだよね?apache?それ以外?
何にしても、ヘッダが偽装って、プロクシとかが付けるviaの事?
「拡張子偽造のスクリプト」ってのが気になる。どんな事するの?それ。
つか、IEの内容見て判断するお節介機能は何とかなんないのかな。
ま、とりあえずUAにMSIEってあったら、問答無用でattachmentにしとけばいいよ。
imgタグだったらインラインで表示してくれるから。それはそれでどうかと思う(IEの)仕様だけどね。
いや、似た様な事が出来るCGI使ってるんで。
[追記]
そうそうセキュリティに詳しい増田さん。いたら教えてください。
信頼できない者から送られてきたデータが、セキュリティ的に他の多数のクライアントへ画像として送っても良いデータ(JPEG、PNG、GIF、BPM)であるか、判断するのは先頭4バイトくらいで可能ですか?
拡張子だけじゃなくってヘッダも偽装されてた。
165 48.54% [未解決IPアドレス]
85 5.02% .tr (トルコ)
14 1.04% .eg (エジプト)
10 0.77% .no (ノルウェー)
2 0.52% .de (ドイツ)
1 0.10% .ru (ロシア連邦)
1 0.10% .ch (スイス)
なんていうか、直近のログがにおいすぎる。
拡張子が違うし、実行できないから実質害はないのだけど、
おそらくここのファイルを外部呼出しでもっとセキュリティのゆるいところから呼び出したりするのかな?
ん。んんんんん。
あまりガチガチにしたくないのだけど何かいい方法ないかな。
// ==UserScript== // @name web footmark twitter // @description web footmark twitter // @namespace http://anond.hatelabo.jp/ // @include * // @exclude http://twitter.com/* // ==/UserScript== (function(){ GM_xmlhttpRequest({ method : 'POST', url : 'http://twitter.com/statuses/update.json', headers: {'Content-type': 'application/x-www-form-urlencoded',}, data : 'status=' + location.href, onload : function(res){ message('twittered!');}, onerror: function(res){ message('Failed - ' + res.status + ': ' + res.statusText);}, }); })();
上記内容でwebfootmarktwitter.user.jsみたいなファイル(拡張子がuser.jsなら名前は何でもいい)を作って、
Firefoxにドラッグアンドドロップすると使えるようになる。
以降、Firefoxで表示したサイトのURLが勝手にtwitterに登録される。
初回登録時にユーザー名とパスワードを入力するダイアログが出るのでtwitterのそれを入力すること。
有効にしていることを忘れてエロサイトばっか見ていることをおおっぴらにしてしまってギニャー!
みたいな事態にならないように気をつけてね!