Hatena::ブログ(Diary)

satoru.netの自由帳 このページをアンテナに追加 RSSフィード

170902Satday

'X-Frame-Options' to 'sameorigin'でpdfをiframeできない時の対処法

クリックジャッキング対策の対策

Refused to display '[pdfURL]' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

と出てiframe内で外部サイトのPDFを表示できない場合の対処法

解決

googlePDFビュアーを通してembedのパラメータonにして表示させればok

iframeで表示されない。

<iframe src=[PDFのURL]></iframe>

iframeできるようになる

<iframe src="https://drive.google.com/viewerng/viewer?url=[PDFのURL]&embedded=true"></iframe>

パラメーターにembedded=trueを入れる

参考リンク

https://stackoverflow.com/questions/27825039/sameorigin-policy-interfering-with-google-docs

160525Wedday

mecab install

mecab install centos

yum -y install gcc-c++

cd /usr/local/src/
wget http://mecab.googlecode.com/files/mecab-0.996.tar.gz
tar xzvfp mecab-0.996.tar.gz 
cd mecab-0.996/
./configure
make ; make install

cd /usr/local/src/
wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz 
tar xvf mecab-ipadic-2.7.0-20070801.tar.gz 
cd mecab-ipadic-2.7.0-20070801/
./configure --with-charset=utf8
make ; make install

echo 'export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc
source ~/.bashrc
cpan Text::MeCab

>pathはそのまま
>[utf-8]を指定する

160110Sunday

swift / URLエンコード

        let query = "ニュース";
        let encoded = query.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
        let url = "https://ajax.googleapis.com/ajax/services/search/news?v=1.0&hl=ja&rsz=8&q=" + encoded!;

関連情報

google-news-api-ref

https://developers.google.com/web-search/docs/reference?csw=1

swift / JSON取得&リスト表示&タイトルクリックでURLに飛ぶ

  • 世界一受けたいiphoneアプリの授業から転載
import UIKit
import Alamofire

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {
    @IBOutlet var table: UITableView!
    var newsDataArray = NSArray();
    func tableView(tableView: UITableView, numberOfRowsInSection section:Int) -> Int{
        return newsDataArray.count
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)->UITableViewCell{
        let cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell")
        let newsDic = newsDataArray[indexPath.row] as! NSDictionary
        cell.textLabel?.text = newsDic["title"] as? String
        cell.textLabel?.numberOfLines = 3
        cell.detailTextLabel?.text = newsDic["publishedDate"] as? String
        return cell
    }

    func tableView(tableView: UITableView,didSelectRowAtIndexPath indexPath: NSIndexPath){
        let newsDic = newsDataArray[indexPath.row] as! NSDictionary;
        let newsUrl = newsDic["unescapedUrl"] as! String;
        let url = NSURL(string:newsUrl);
        let app = UIApplication.sharedApplication();
        app.openURL(url!);
    }
    
    override func viewDidLoad() {
        table.dataSource = self;
        table.delegate = self;
        super.viewDidLoad()
        getRSS();
    }

    func getRSS(){
        let requestUrl = "https://ajax.googleapis.com/ajax/services/search/news?v=1.0&topic=p&hl=ja&rsz=8";
        Alamofire.request(.GET, requestUrl, parameters: nil).responseJSON {
            response in
            if let json = response.result.value {
                let jsonDic = json as! NSDictionary
                let responseData = jsonDic["responseData"] as! NSDictionary
                self.newsDataArray = responseData["results"] as! NSArray
                self.table.reloadData()
            }
        }
    }

160109Satday

swift / jsonをhttp経由で取得

Download

setting

  • general > embed Binary で[+]で追加。
  • [Alamofile iOS]を選択して追加

code

        let requestUrl = "https://ajax.googleapis.com/ajax/services/search/news?v=1.0&topic=p&hl=ja&rsz=8";

        Alamofire.request(.GET, requestUrl, parameters: nil).responseJSON {
            response in
            if let json = response.result.value {
                print(json)
            }
        }

151201Tueday

Yahoo!bot Slurpを間違って蹴ってしまって復活させるまでの対応メモ

なんとなく robots.txtにYahoo!botを20分に1回にする設定をいれてもーた

User-agent: Slurp

Crawl-delay: 20

設定日は24日。

結果

botの来訪頻度数の集計

Bot-count:

date google yahoo bing

151122 389979 469378 308252

151123 346894 506160 335105

151124 475883 464205 229293

151125 455849 140855 65039

151126 677111 45337 60063

151127 809616 39890 60283

25日付近から、Yahoo!botの来訪頻度が急激に減少。

Seached-count:

date google yahoo bing

151122 74815 30360 535

151123 85434 36273 593

151124 70686 29407 504

151125 67178 27762 480

151126 65181 26309 481

151127 63056 25584 471

連動してYahoo!検索経由で来る数も減った……気がした。

googleエンジン使ってるから影響ないのかなーと思ってたけど、そうでもないよーだ

botを制限するrobots.txtの記述を消去

25日にやばいなーと気づいて、即robots.txtを戻したけど、

2日まてどrobots.txtが更新される気配がなかった。。

Yahoo!slurp担当者 にメールでrobots.txt更新依頼

https://help.yahoo.com/kb/SLN22600.html

Webmasters can contact Yahoo Support directly by emailing us at: crawl-support@yahoo-inc.com.

メールでサポートしてるようなのでググル翻訳使ってお願いしてみた。

Hi. I'm http://open2ch.net website administrator.

I have restricted bot in yahoo by mistake.

The setting of robots.txt was changed, so please renew.

@Before

User-agent: Slurp

Crawl-delay: 20

@After

(Without restriction)

best regards

返信がきた

Hello おーぷんかんりにん,

Thank you for reaching out to Yahoo with your request. I checked our history logs for your site's robots.txt file retrieval, we have confirmation that it's been received. Here's the log entry for your confirmation:

Fetched time

Sun Nov 29 19:42:28 2015

HTTP status

200

Content

Slurp will crawl your site without restriction. If you have any additional questions, feel free to write back.

Kind Regards,

Miguel Lopez

Crawl Support

治った

Bot-count:

date google yahoo bing

151129 799225 71750 60049 6804 3942 106399

151130 832523 273987 60769 6343 4060 93451

Seached-count:

date google yahoo bing

151129 74925 31056 418

151130 66158 26756 537

今日のわかった

  • 安易にYahoo!botを制限するとYahoo!経由のseoに影響するかも
  • Yahoo!にrobots.txtの更新はメールで依頼できる
  • 無事にrobos.txtの制限が解除されれば従来通りのbot数に復帰できる

botの数グラフ

f:id:satoru_net:20151202000856p:image

©satoru.net
Mail Twitter