PHP関連のことを調べてみた2020年03月11日

PHP関連のことを調べてみた2020年03月11日

サーバ環境構築

この記事はcentos7+nginx+php7向けに書いています。
OSを入れたあと、必ず最初にする設定をメモしています。()

#環境
OS確認
`$ cat /etc/redhat-release`

日本語化(ロケールの変更)
`$ localectl set-locale LANG=ja_JP.UTF-8`
確認
`$ localectl status`

ホスト名の変更
`$ hostnamectl set-hostname ***.com`
`$ vi /etc/hosts`

SELinuxを切る
`$ setenforce 0`
Disabledを確認
`$ getenforce`
SELINUX=disabledを確認
`$ less /etc/selinux/config`

systemctlでbashの補完をきかせる
`$ yum install -y bash-completion`
ネット関係のコマンド(ifconfig,nslookupなど)を入れる
`$ yum install -y net-tools bind-utils`

#yum
EPELリポジ

元記事を表示

PHP 生年月日のselectタグ 値保持

##生年月日の入力フォームの作り方メモ

selectタグでプルダウンの形で作りました。その際、バリデーションエラー等で元の画面に戻ったときに入力値が保持される様に処理しました。簡単ですがメモしておきます。

#####まず関数を作ります。
引数に始まりと終わりの年月日を指定し、プルダウンに一覧表示するようにします。第3匹数は保持したい値を指定します。
?演算子はとっても便利で、issetで値を確認するときなども良く使います。

“`php:function.php
function birthdayLoop($start, $end, $selection=”){
echo ‘‘;
for($i=$start; $i<=$end; $i++){ $i = sprintf('%02d', $i); $selected = $i==$selection?'selected':''; echo "

元記事を表示

PHPとは? [初心者向けに]

# PHPとは何か:beginner:
動的なWebページを作成することができるサーバーサイドのプログラム言語のこと。

#### 動的とは?:runner_tone5::runner_tone4::runner_tone3::runner_tone2:
通常のHTMLは静的なWebページで、
制作者が内容を書き換えない限りはいつアクセスしても同じものが表示される。
そのページにプログラムを記述し、ユーザーがボタンを押したりアクセスした際に
表示内容を変えることができるのが**動的**なページ。
#### サーバーサイドとは?:gear:
サーバー側(サービスを提供する側のコンピュータ)でプログラムを動かすこと。
##PHPを使うと出来ること例
– **ECサイトの構築** :computer::high_heel:
– ショッピングカート
 (商品をいくつ入れたのか、その商品の金額はいくらなのか、
自動的にカウント・計算することもPHPで実装可能)
– 検索エンジン
 (人気順や、新着順、条件によって表示する項目を変えることも可能)
– オンライン上での決済処理

元記事を表示

PHPでMySQLに接続する

## はじめに
学校の作品展でPHPとMySQLを利用してSNSを作ったのでその時に使ったPHPでMySQLに接続する方法を(できる限り)分かりやすく紹介していこうと思います。

※PHPをぼんやりと理解した状態で書いているので間違った説明もあるかもしれません。ご了承ください_(._.)_

### 環境
PHP 7.3.4
MySQL 5.7.20
Apache Server Version 2.4
## 接続/Connect
MySQLには接続に必要な情報が四つります。
それぞれの説明についてはこの記事では割愛させていただきます。

– ユーザー名
– パスワード
– データベース名
– ホスト名

“`PHP
$db_username = “root”;
//MySQLのユーザー名
$db_password = “root”;
//MySQLのパスワード
$db_setting = “mysql:dbname=TestDB;host=localhost”;
//接続するデータベースの名前とホスト名
$mysql_connecter = new PDO($db_setting,

元記事を表示

WordPressでページネーション実装する一番簡単な方法

WordPressの一覧ページでプラグインを使わずにページネーションを実装する方法。

具体的なパラメータなどはcodex参照。
[paginate_links()](https://developer.wordpress.org/reference/functions/paginate_links/)

## 一覧ページでページネーション

### リストを出力する
– funciotns.phpに以下の関数を追記し、テンプレートで呼び出し
– 関数の部分を直接テンプレート側に記述してもOK

“`php
// functions.php
function the_pagination() {
// 一覧ページのクエリ
global $wp_query;
// ありそうもない数字をセット
$big = 999999999;
// 1ページ以下なら非表示
if ( $wp_query->max_num_pages <= 1 ) return; echo paginate_links( array( 'base' => str_re

元記事を表示

PHPのPDOで外部のデータベースサーバーを利用したいときの注意点と選択肢

PHPのPDOで外部のデータベースを利用するときに躓いたところをまとめました。

#データベースサーバーの話
レンタルサーバー付属のDBサーバーは無理
レンタルサーバー付属のDBサーバーを最初使おうとしたのですが、基本的にどのレンタルサーバーもリモートSQLには対応していません。
リモートSQLとは、そのDBサーバーが運用されているIPとは異なるIPやグローバルネットワーク経由でのSQL操作のことです。

セキュリティ的な理由で、多くのレンタルサーバー付属のDBサーバーはできません。

#DBサーバーの選択肢
月額固定費での運用を考えると、日本語環境だと以下の2つのDBサーバーがありました。

DBサーバー|VPSならConoHa
https://www.conoha.jp/database/

データベースサーバー|レンタルサーバーのカゴヤ・ジャパン
https://www.kagoya.jp/multi-plan/database/

どちらも、初期費用0円・月額500円です。

Conohaだと、VPSの契約も必須なようなことを書いてあるサイトもありましたが、データベースサーバー

元記事を表示

DVWA(XXS:stored)全レベルの脆弱性について

## 前提
– kali linux環境がある
– [DVWAのセットアップ済み](https://qiita.com/KPenguin/items/7e4f1c428c3dadf8591c)
– [初級レベル理解済み](https://qiita.com/KPenguin/items/dea8c81522f81b7bb1f3)

## 目標
– 脆弱性の理解を深める。

## 手順概要
– 大まかな挙動を把握する
– コードを見て脆弱性をみつける
– コードの脆弱性を攻撃する

## 内容
###挙動の把握
– ボタンを押すとPOSTリクエストが飛ぶ
– 文字列がDBに保存され、下部に転写される

### コードを確認
#### low
– 入力値がそのまま格納される。

“`php:

“`

#### medium
– str_replace(a,b,c)は、cの中にaが入っていればbに置換する
– 今回の場合、`