PHPに関するhogegeのブックマーク (12)

  • Windows OSにインストールされている全てのPHPに影響 緊急度「Critical」の脆弱性が発覚

    台湾でサイバーセキュリティコンサルティングサービスを提供しているDEVCOREは2024年6月6日(現地時間)、PHPに緊急度が「緊急」(Critical)に分類される重大なセキュリティ脆弱(ぜいじゃく)性が存在すると伝えた。 PHPに発覚した新たなセキュリティリスク この脆弱性はWindows OSにインストールされている全てのバージョンのPHPに影響を及ぼし、認証されていない攻撃者がリモートから任意のPHPコードを実行する可能性がある。Windowsの文字エンコード変換を処理するベストフィット機能に問題があり、攻撃者はベストフィット機能を悪用することでPHPのコマンドライン引数に任意の文字列を挿入し、悪意のあるPHPコードを実行できる。 特に影響を受けるのはPHP 8.3.8、PHP 8.2.20、PHP 8.1.29より前のバージョンだ。ユーザーは修正済みのバージョンにアップグレー

    Windows OSにインストールされている全てのPHPに影響 緊急度「Critical」の脆弱性が発覚
    hogege
    hogege 2024/06/12
    PHPのコードページ932使ってるとこってまだあるのか?! 文字化けするってしょっちゅう問い合わせとか運用対処で手間とられたりするやろに
  • コマンドラインで「php-cgi test.php」を実行し、$_GETの値を取得したい

    CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。 PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

    コマンドラインで「php-cgi test.php」を実行し、$_GETの値を取得したい
    hogege
    hogege 2021/06/10
    “CGIの挙動をエミュレーションする”
  • PHP 7.2以降におけるPDO::PARAM_INTの仕様変更

    サマリ PHP 7.2以降、PDOの内部実装が変更された。動的プレースホルダ(エミュレーションOFF)にてバインド時にPDO::PARAM_INTを指定した場合、PHP 7.1までは文字列型としてバインドされていたが、PHP 7.2以降では整数型としてバインドされる。 この変更により、従来PDOが内包していた「暗黙の型変換」は解消される一方、integerへの暗黙のキャストにより、整数の最大値を超えた場合に不具合が発生する可能性がある。 この記事を読むのに必要な前提知識 この記事は、以前の記事(下記)の続編のような形になっています。 PDOのサンプルで数値をバインドする際にintにキャストしている理由 この記事では、PDOを用いたサンプルスクリプトでbindValue時にinteger型へのキャストを明示している理由を説明しています。パラメータを文字列として渡した場合、PDO::PARAM

    hogege
    hogege 2020/03/27
    φ(..)メモメモ
  • PHPからSQL Serverに接続してみよう (1/2):.NET開発者のためのPHPアプリお手軽開発入門 - @IT

    PHPからSQL Serverに接続するには、Microsoftが提供するPHP拡張機能が必要だ。そのセットアップをし、接続を確認する簡単なコードを書いてみよう。 連載「.NET開発者のためのPHPアプリお手軽開発入門」 前回と前々回は、PHPプログラムを記述する上で覚えておきたい基礎構文やクラスなどについて見た。今回は、PHPからSQL Serverに接続するために必要となるMicrosoft Drivers for PHP for SQL Server(以下、PHP for SQL Server driver)をセットアップし、SQL Serverに接続してみよう。なお、今回は多くの開発マシンにインストール済みであろうSQL Server LocalDBを例とする。 PHP for SQL Server driverのインストール PHP for SQL Server driverはP

    PHPからSQL Serverに接続してみよう (1/2):.NET開発者のためのPHPアプリお手軽開発入門 - @IT
    hogege
    hogege 2018/10/23
    windows限定。linux(RHEL/CentOS)ではまだunixODBC要るのは変わらず?
  • 初心者なのでPHPで円の面積を求めてみた - Qiita

    整数で値をひとつ読み込み、それを半径とする円の面積を求めて表示するプログラムを作成しなさい。 円周率は3.14とし、計算結果は、小数第2位を四捨五入して小数第一位まで表示すること。 知恵袋方面に上記のプログラムをPHPで書きたい人がいるという噂を聞きました。世の中にはPHPの宿題が出る学校があったりするのかもしれません。PHPなら任せろー、というわけでPHPのLua拡張を利用して書いてみましょう。LuaもLua拡張も初心者ですが、がんばります! まず手元のPHPのバージョンを確認します。今回はPHP 7.0.4を使います。 $ php -v PHP 7.0.4 (cli) (built: Mar 9 2016 16:14:46) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1

    初心者なのでPHPで円の面積を求めてみた - Qiita
    hogege
    hogege 2016/03/14
    ワロタ( ̄∇ ̄)N88Basic拡張とかasp(legacy asp)拡張(VBScript拡張?)とかぴゅー太(G-Basic)拡張とかあったら面白いのにヽ(^0^)ノ
  • Code4Sec | LinkedIn

    Aceite e cadastre-se no LinkedIn Ao clicar em Continuar para se cadastrar ou entrar, você aceita o Contrato do Usuário, a Política de Privacidade e a Política de Cookies do LinkedIn.

    Code4Sec | LinkedIn
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    hogege
    hogege 2015/11/19
    φ(・_・
  • php で手軽に並列処理をするライブラリ Snidel を作りました - 暁

    シルバーウィーク中に php のライブラリを作りました。 ackintosh/snidel Snidel (スナイデル) について 他の言語のマルチスレッド等の並行・並列処理のための機構に近い書き心地で php で手軽に並列処理をする。というのがコンセプトです。 子プロセス数の制御に メッセージキュー プロセス間のデータのやりとりに 共有メモリ を使っています。 命名に特にこだわりは無いのですが、響きがシュッとしてていいかなと思ってます。 ただ、この記事を書きながらGoogle翻訳にかけてみたらエストニア語で「薬物使用者を注入」って出てきたので少し怖くなってきました…。 proc_open() や exec() でコマンドをバックグラウンドで実行するのではなく、 Callable を別プロセスで実行して、結果を親プロセスが受け取るかたちにしたかったので PCNTL関数 を使うようにしました

    php で手軽に並列処理をするライブラリ Snidel を作りました - 暁
  • 最低限書いておきたいPHPのDocコメント - Qiita

    最低限書いておきたいというよりは、最低限書いて下さいという私の切なる願いかもしれない。 そもそも何故Docコメントを書くのだろうか? メソッドの命名さえ正確に行えるならDocコメントという存在はほぼ必要無いという考えがあり、 それは間違いでは無いでだろう。 しかし… 型が無いためにメソッド名を冗長にしてしまう 以下のコードは税率を取得するだけの単純なものだ。 TAX::getRate()と実行することで税率を取得出来る。 これなら、主語=TAX、述語=getRateと読み取れるので何をしているのか一目瞭然である。 class Tax { private static $tax_rate = 0.8; public static function getRate() { return self::$tax_rate; } } しかし、これは戻ってくる値の型を予約出来る静的片付け言語であればの

    最低限書いておきたいPHPのDocコメント - Qiita
  • Vagrant + PHP + Xdebug リモートデバッグする設定手順

    お久しぶりです。野瀬です。 最後の投稿から約1年が経っており、時が経つのは早いなぁ〜と感じる今日この頃。 最近自分の周りでの開発環境はVagrantを使うのが増えてきています。 自分も流行に乗っかりVagrantを使って開発しています。 今回はそんなVagrantとPHPとXdebugを使ったステップ実行をする手順をご紹介したいと思います。しかもWebブラウザからだけではなくCommandLineからもステップ実行させる設定方法です。すご〜くいまさらな感じはしますが・・・ ググってもWebブラウザからのステップ実行は結構あるのですがCommandLineからのステップ実行の設定があまりなかったので同じように困った方の為に。 環境確認 あくまでも例ですので適宜自分の環境に置き換えてください。 Vagrant ver1.5.2 CentOS release 6.5 (Final) PHP ve

  • PHPの静的コード解析ツール『PHPMD』を使ってみた。 - Qiita

    コードレビューしてもらう前に、静的コード解析をして事前に問題点の修正を行いたいと思ったので使ってみました。 PHPMDとは Hudson+phpmdでPHPコードの問題を自動検出する方法 | Ryuzee.comに記載されているのは以下のような内容です。 phpmdはPHP Mess Ditectorの略で、PHPコードの潜在的なバグになりそうな箇所や実装上の問題を検出してくれるツールである。例えば未使用の変数の指摘、多数のpublicメソッドのある巨大クラスの検出、一文字変数等もこのツールで検出可能だ。

    PHPの静的コード解析ツール『PHPMD』を使ってみた。 - Qiita
  • PHPでHTTPの並行ダウンロードを実現する(Guzzle編) - hnwの日記

    PHPで最近注目のHTTPクライアントライブラリにGuzzleがあります。日での知名度はまだまだという印象ですが、かなり高機能かつ真面目にメンテナンスされている印象で、今後のデファクトスタンダードになりうるライブラリと言えるでしょう。 稿ではこのGuzzleを使ってWebサーバから並行にダウンロードする方法を紹介します。Webブラウザのように同時に複数コネクションを管理しながらKeep-Aliveでコネクションを使い回しますので、下手なコードで実現するより接続先Webサーバにも優しいはずです。 Guzzleの特徴 まずは、Guzzleについて僕が特徴的だと思う点を紹介します。 パッと見でわかりやすいインターフェース cURLは必須ではないがデフォルトでcURLを使う cURLの無い環境がありうるので、cURL無しでも動くのは嬉しい cURLのわかりにくいインターフェースを隠してくれるの

    PHPでHTTPの並行ダウンロードを実現する(Guzzle編) - hnwの日記
  • 1