PhpSpreadsheet を活用したセルデータの操作ガイド
セル座標による値の割り当て
スプレッドシート操作において、特定のセルにデータを写入することは基本的な作業です。ワークシートオブジェクトに対して座標を指定し、値を設定するメソッドを用意しています。
// 文字列データを C1 セルに設定
$excelObj->getActiveSheet()->setCellValue('C1', 'Sample Text');
// 数値データを C2 セルに設定
$excelObj->getActiveSheet ...
7月26日 19:34 投稿
ProjectSendのよくある問題とその解決策
ProjectSendは、オープンソースのファイル共有ソフトウェアで、クライアントとのファイル共有に特化しています。このプロジェクトは使いやすさとプライバシー保護を重視し、クライアントグループ、システムユーザーのロール、統計、多言語対応、詳細なログ機能などをサポートしています。主にPHPで開発されており、中小企業やチーム向けのファイル管理に適しています。
イ ...
7月26日 17:42 投稿
PHP Webシェル検出回避技術の考察
ウェブシェルは、攻撃者がウェブサーバー上で任意のコマンドを実行したり、ファイルシステムを操作したりするために使用する悪意のあるスクリプトです。その種類は多岐にわたり、それぞれ異なる特性と検出回避の課題を抱えています。
ワンライナー型: 最も単純で、一行のコードで構成されることが多く、隠蔽性が高い。検出回避が比較的容易な場合があります。 ...
7月26日 00:06 投稿
RabbitMQのメッセージ送信と受信(PHP版)
RabbitMQの基本概念
RabbitMQは、メッセージを受信し、転送する代理です。郵便局に例えると、RabbitMQはメールを受信し、保存し、受信者に転送する機能を担います。
以下はRabbitMQで使用されるいくつかの用語です:
Producer(送信者):メッセージを送信するプログラム。
Queue(キュー):RabbitMQ内部のメッセージを保存するバッファ。
Consumer(受信者):メッセー ...
7月23日 16:37 投稿
CentOS 7 環境における LAMP ストックのソースビルド構成
前置き:依存パッケージとユーザ設定
まず、コンパイルに必要な開発ライブラリ類をシステムに導入します。
# コンパイラおよび基本ツール群
yum -y install gcc gcc-c++ g++ cpp make cmake ncurses-devel automake autoconf
# ネットワークおよび画像処理ライブラリ
yum -y install wget sudo libxml2-devel libpng-devel freetype-devel bzip2-devel
# セキュリティ関連 ...
7月22日 22:29 投稿
Elasticsearch 7.x を PHP で操作する方法
この記事では、PHPを使用してElasticsearch 7.xに接続し、データをインデックス化および検索する方法について説明します。
必要な環境は以下の通りです。
Laravel 8
PHP 7.3.4
MySQL 5.7
CentOS 8
Elasticsearchのクライアントをインストールします。
composer require elasticsearch/elasticsearch
インデックスを作成するためのパラメータ例です ...
7月22日 20:31 投稿
Linux環境でのLNMP手動インストールガイド
以下のコマンドを使用して必要なパッケージをインストールします。
sudo yum install -y gcc gcc-c++ autoconf nss_ldap libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib bzip2 curl e2fsprogs krb5 openssl openldap pcre make wget vim cmake gd gd-devel libevent zip unzip libtool
セキュリティ設定の調整:
sudo ...
7月22日 04:17 投稿
ファイルアップロード脆弱性のバイパス手法と実践的対策
MIMEタイプバイパス
サーバー側で特定のMIMEタイプを制限することでファイルアップロード脆弱性の悪用を防止する手法があります。一般的なファイルのMIMEタイプは以下の通りです:
.txt - text/plain
.html - text/html
.php - application/octet-stream
.png - image/png
.jpg - image/jpeg
.gif - image/gif
実装例:
$upload_status = false;
$message = null;
if (iss ...
7月21日 16:28 投稿
UEditor PHP 版での画像アップロードディレクトリ設定手順
エディタの初期化とフロントエンド設定
UEditor を Web ページに組み込むためには、必要な JavaScript ファイルを読み込み、特定の ID を持つテキストエリアを用意する必要があります。まず、HTML のヘッド部分で以下のスクリプトを読み込みます。
<head>
<script type="text/javascript" charset="utf-8" src="ueditor.config.js"></script>
<s ...
7月20日 18:43 投稿
PHPで今年・今月・今週のタイムスタンプと日付フォーマットを取得する方法
日付とタイムスタンプの相互変換
PHPでは、特定の期間(当日、今週、今月など)の開始時刻と終了時刻をプログラムで取得する必要がある場面が多くあります。以下は、よく使用されるパターンの実装例です。
現在時刻の取得
date_default_timezone_set('Asia/Tokyo'); // タイムゾーン設定(日本基準)
// 現在のタイムスタンプ
$currentTimestamp = time();
echo date('Y- ...
7月19日 18:53 投稿