タグ

PHPに関するsakenのブックマーク (71)

  • websec-room.com - websec room リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    websec-room.com - websec room リソースおよび情報
  • PHP5.1でjson_encode()関数が使えない場合の対処法 : shooblog

    外部のアプリケーションとデータの受け渡しをしているシステムを別のサーバーに移さなければならなかったので、淡々と慎重にでも味噌汁をすすりながら移行作業を終わらせ、テストで動かしてみたらFatal errorが返ってきました。 PHP Fatal error:  Call to undefined function json_encode() ・・・ json_encode()関数が定義されていない・・・? というわけでサーバーのPHP環境を確認してみると(最初に確認しろっと)PHPのバージョンは5.1でした。どうやらjson_encode()関数は5.2以降で定義されてる関数とのこと。 ・・・自前でなんとかしろってことですかね(´・ω・`) 代用処理を書くとしたらかなり骨が折れるし、ここに工数を割くわけにもいかないので、jsonまわりの情報を探してみたらPEARのサイトでjson関数ファイル

    PHP5.1でjson_encode()関数が使えない場合の対処法 : shooblog
  • >ロリポップのWAF機能でPHPを使ったCMSの記事の更新、変更ができない|PHP工房

    2017/9/7追記 最近ではファーストサーバでも導入されたようです。(実際にはzenlogicというサーバに移行した) 下記でWAFを無効化するとしていますが、可能であれば出来る限りWAF機能は活かしたまま、 エラーが出た場合にはそのエラーを除外ルールに設定するほうが良さそうです。 「WAF 除外ルール設定」などでネット検索すればたくさんの有意義な情報が見つかると思います。 まぁただ明らかに誤検知もあるので、怖い機能であることは変わらないと思います。 特にWAFのフィルターというかアルゴリズムというかルールは随時更新されているようで、 今まで何でもなかったものがある日突然エラーが出るという厄介な問題があります。 またたとえば、最近の報告ではCMSで中古車ポータルサイトのGooのURLを入力すると なぜか403エラーになるという不具合がありました。これも完全に誤検知ですね。 WAFをOFF

    >ロリポップのWAF機能でPHPを使ったCMSの記事の更新、変更ができない|PHP工房
  • WordPress 4.7.1 の権限昇格脆弱性について検証した

    エグゼクティブサマリ WordPress 4.7と4.7.1のREST APIに、認証を回避してコンテンツを書き換えられる脆弱性が存在する。攻撃は極めて容易で、その影響は任意コンテンツの書き換えであるため、重大な結果を及ぼす。対策はWordPressの最新版にバージョンアップすることである。 稿では、脆弱性混入の原因について報告する。 はじめに WordPress体に久しぶりに重大な脆弱性が見つかったと発表されました。 こんな風に書くと、WordPressの脆弱性なんてしょっちゅう見つかっているという意見もありそうですが、能動的かつ認証なしに、侵入できる脆弱性はここ数年出ていないように思います。そういうクラスのものが久しぶりに見つかったということですね。 WordPress、更新版で深刻な脆弱性を修正 安全確保のため情報公開を先送り Make WordPress Core Conten

    WordPress 4.7.1 の権限昇格脆弱性について検証した
  • PHP: get_browser - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    saken
    saken 2017/01/31
  • include_path:デジットさんの生活便利サイト

    include_path とは include_path には、require()、include()、 fopen()、file()、 readfile() および file_get_contents() 関数がファイルを探すディレクトリのリストを指定します。つまり、インクルードパスで指定されたディレクトリ内のファイルは、相対 URL や絶対 URL をつけずにファイル名だけで呼ぶことができます。 例えば、include_pathが librariesで、カレントの ワーキングディレクトリが /web_dir/ の 場合、include/a.php を読み込んで、そのファイルの中に include "b.php" と書いてあったとすると、 b.php がまず /web_dir/librariesで探され、その後、 /web_dir/include/で探されます。 ファイル名が ./ ある

    saken
    saken 2017/01/31
  • 【 ほでなすPHP 】 PHPのインストール -> 「.htaccess」ファイルでの設定

    「.htaccess」ファイルでの設定 「.htaccess」ファイルとは Apacheの設定ファイル「httpd.conf」やPHPの設定ファイル「php.ini」で色々設定しましたが、設定の変更を有効にするにはサーバを再起動する必要があり、契約中のサーバの設定をこれらで設定変更する事は出来ません。契約中のサーバの設定を行いたい時に使用する事が出来るのが「.htaccess」ファイルです。このファイルには、制限がありますがサーバの設定を書き加える事が出来ます。アクセス制限などにも使われます。 「てゆーか名前が変なんですけど。」 「.htaccess」というファイル名ですが、ファイル名というか拡張子しかありません。Windowsでこのような名前を付けるには「新規作成」→「テキスト文書」→「名前の変更」のような方法では付けられないので、適当な名前で作ったファイルを開いて「名前を付けて保存」で

    saken
    saken 2017/01/30
  • 「PHPMailer」に重大な脆弱性、直ちにパッチ適用を

    PHPからのメール送信に使われている、「世界一人気の高いコード」に重大な脆弱性が見つかった。「パッチを適用しないまま放置すれば悪用される」と専門家は警告している。 PHPからのメール送信に広く使われているライブラリの「PHPMailer」に重大な脆弱性が報告され、修正のためのパッチが12月24日付で公開された。悪用されれば任意のコードを実行される恐れも指摘され、米セキュリティ機関のSANS Internet Storm Centerは直ちにパッチを適用するよう呼び掛けている。 脆弱性を発見したセキュリティ研究者ダビド・ゴルンスキ氏によると、PHPMailerは「PHPからメールを送信するための世界一人気の高いコード」で、WordPressやDrupalなど多数のオープンソースプロジェクトに使われている。

    「PHPMailer」に重大な脆弱性、直ちにパッチ適用を
  • PHPでは正規表現コンパイル結果のキャッシュが暗黙に行われている - hnwの日記

    筆者がPHPをさわり始めたころ、「PerlのコレはPHPではどうやるんだろう?」と思うことが頻繁にありました。一部の疑問については解説を見つけたり自分でソースコードを読んだりして解決したものの、考えるのをやめてしまったものもあります。その一つが正規表現コンパイル結果の保存に関するもので、最近まで完全に忘れていました。 正規表現のコンパイルというのは与えられた正規表現を解釈して実行しやすいデータ構造に変換する作業のことを指します。具体的にはDFA(決定性有限オートマトン)を構成するか、正規表現エンジン内部で用いられるVM命令列に変換するかといった処理になります。これらは複雑な処理ですので、性能の観点で言えば同じ正規表現に対するコンパイル処理はできるだけ繰り返したくありません。 Perlの場合、/foobar/ のようなスタティックな正規表現のコンパイルは1回しか行われません。一方で、正規表現

    PHPでは正規表現コンパイル結果のキャッシュが暗黙に行われている - hnwの日記
    saken
    saken 2016/10/31
  • PHP 高速化に関するメモ書き | Thought is free

    ※ isset や empty は関数ではなく言語構造なので速いです。 上記は、あくまで Null のチェックであって、 "" や false や 未定義変数 などをチェックする場合は、 それぞれ返ってくる値も異なるので注意。 インクリメントとデクリメント $i++ より ++$i $i-- より --$i の方が速い。 count() とか strlen() とか 配列の要素数を数えたりするために count() 文字列の長さを調べるために strlen() を使ったりするのだが、 ぶっちゃけ、配列の要素数が 0 か否か、文字列の長さが 0 か否か っていう判断をするだけなら、 if( count( $array ) === 0 ) { ~ } if( !strlen( $string ) ) { ~ } のような書き方するよりも、 empty で判断した方が速い。 なぜなら、empty

    PHP 高速化に関するメモ書き | Thought is free
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
  • スパマのスパムスクリプトを解析してみる : 難読化されたPHPスクリプトに挑む | POSTD

    スパムを送るのに使われていたPHPスクリプトを見ていきましょう。こういった種類のスパムは世界中のサーバで走っており、あなたを困らせるスパマの熱意を見通せる力を得ることができるはずです。 スパマは、セキュリティ対策が施されていないWebサイトやアプリケーション内の既知の脆弱性を悪用してサーバに入り込み、大量のスパムを送ることができるスクリプトをインストールします。完全に信頼できる送信者であると確証するのは難しいという理由から、 全ての スパムを取り除くことは困難です。完全に強化されたサーバは、スイスチーズ、つまり後にいくつかのゼロデイ・エクスプロイトになりかねないのです。 評判がいいとは言えないソースからプラグインをインストールしたり、プラグインが最新状態に保たれていなかったりすることで、エクスプロイトが簡単に取り込まれてしまうということは、それなりに人気のあるWordPressのサイトを運

    スパマのスパムスクリプトを解析してみる : 難読化されたPHPスクリプトに挑む | POSTD
    saken
    saken 2016/05/20
  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

    導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi

    『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
  • [PHP]PEARを使わない添付ファイル付きメール送信クラスを公開

    PEARの様に依存せずに添付ファイルメールを送る方法を 私が使用するクラスをまるっと公開すると共に解説します。 内部的には、PHPの標準関数鵜「mail()」を使用し、 追加ヘッダにて添付ファイルを認識させる処理を追加しています。 今回公開するクラスは、ファイルを複数添付することができ、添付ファイル名も指定することが出来ます。 また、送信形式はCCもBCCも対応しています。 もちろん件名もファイル名も日語OKです。 添付ファイル無しの通常メールも送信出来ます。 そのままクラスごとコピペしてもらえれば使えるかと思いますので、 じゃんじゃん使って頂いて、「もう少しこうしたら良いよ!」等のご意見が有れば フィードバック頂ければ幸いです。 添付ファイル付きメールを送れるクラスの使い方 添付ファイルの仕組み 添付ファイル付きメールを送れるクラスのソース 添付ファイル付きメールを送れるクラスの使い方

    [PHP]PEARを使わない添付ファイル付きメール送信クラスを公開
  • 添付ファイル付きのメール送信 | 私的雑録

    /** * 添付ファイル付きのメール送信 * * @param string $to : 受信アドレス * @param string $subject : 件名 * @param string $messag : 文 * @param string $from : 送信アドレス * @param string $name : 送信者名 * @param string $cc * @param string $bcc * @param string $reply_to: 返信アドレス * @param string $reply_path : エラー通知アドレス * @param string $file_name * @param string $load_name * @return boolean */ function sendMail($to, $subject, $messa

  • Haxeから見る厳密に型定義されたPHP - Qiita

    PHPが型を厳密に定義するためにはいくらかのテクニックが必要である PHPという言語は皆様御存知の通り動的に型付けを行う言語であり、予め値や振る舞いがどのような型を持つかを定義することが出来ません。 そもそも実行時にコンパイルされる言語なので型という概念をもって云々言うのは違う気もしなくもないのですが、 最近の便利なツールのお陰で静的型付け言語のような事前の型情報チェックというのはPHPでもある程度可能になってきています。 ある程度の型付けが可能とは言っても、多くの静的型付け言語のような型を持つことを前提に言語機能が実装されている訳ではないため、静的型付け言語のもつ機能を実現しようとした場合にはある種テクニックのようなものが必要となってきます。 Haxeという静的型付け言語が変換するPHPのコードを見て、 「PHPが静的な型付けで書かれるならこうなる!」 というPHPので静的型付け言語のよ

    Haxeから見る厳密に型定義されたPHP - Qiita
    saken
    saken 2016/01/25
  • PHP7から予約語がメソッド名として使えるようになっていた件 · DQNEO日記

    PHPで"echo"とか"list"という名前のメソッドを作って文法エラーになった経験はないでしょうか? ほとんど知られていないのですが、実はPHP7からは"echo",“list"などの予約語がメソッド名として使えるんです。 <?php class Foo { public function list() { echo "list\n"; } public function echo() { echo "echo\n"; } public static function die() { echo "die\n"; } } $foo = new Foo(); $foo->list(); $foo->echo(); Foo::die(); PHP 5だと文法エラーになっていた $ php a.php PHP Parse error: syntax error, unexpected 'lis

    PHP7から予約語がメソッド名として使えるようになっていた件 · DQNEO日記
    saken
    saken 2016/01/19
  • DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita

    PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。 0. [2,4,6,8,10]という配列を用意して 1. ↑の配列から8以下の数だけを選択した配列を作る 2. ↑の配列から各

    DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita
  • PHP: serialize - Manual

    パラメータ value シリアル化する値。 serialize() は、resource および一部の object 以外のすべての型を処理します。(下記の注を参照ください) 自分自身への参照を含む配列を serialize() することも可能です。 シリアル化した配列/オブジェクト内の 循環参照も保存されます。その他の参照は失われます。 PHP は、シリアル化の前にまずメンバ関数 __serialize() または __sleep() のコールを試みます。ここで、シリアル化の前のオブジェクトの後始末処理 などを行います。同様に、unserialize() で オブジェクトを復元した際にはメンバ関数 __unserialize() または __wakeup() がコールされます。 注意: オブジェクトの private メンバは、メンバ名の前にクラス名がつきます。 また protected

  • PHP: ImageMagick - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su