2019-05-20 16:51:03 PHP

OSコマンドインジェクションに気をつけよう

Copy Copied! Full
<?php /*** パラメーター開始 ***/ $sender = "test@example.com"; $sender_name = "TEST"; $recipient = "test@example.com"; $subject="三卍(^o^)卍ドゥルルル"; $content="わーい\nわーい\nわーい"; /*** パラメーターここまで ***/ $sm = popen("/usr/sbin/sendmail -f $sender $recipient", "w"); mb_internal_encoding("UTF-8"); $sender_name_encoded = mb_encode_mimeheader($sender_name); $subject_encoded = mb_encode_mimeheader($subject); $content_encoded = quoted_printable_encode($content); fputs($sm, "From: \"$sender_name_encoded\" <$sender>\n"); fputs($sm, "To: <$recipient>\n"); fputs($sm, "Subject: $subject_encoded\n"); fputs($sm, "MIME-Version: 1.0\n"); fputs($sm, "Content-Transfer-Encoding: quoted-printable\n"); fputs($sm, "Content-Type: text/plain; charset=UTF-8\n\n"); fputs($sm, $content_encoded); pclose($sm); ?>
OSコマンドインジェクションに気をつけよう
RECOMMEND
<?php date_default_timezone_set('Asia/Tokyo'); $now = strtotime(date('Y-m-d H:i')); /* * 以下の表示を自動で切り替えるタイマー * ・ヘッダーのボタン(参加登録 or 新歓情報 or SNS) * ・参加登録ページの内容 * ・お問い合わせページの新歓お問い合わせに関する文言 * ・9月1日に行うトップページ支援団体の切り替え * ・トップ and 開催概要のフォーラム終了に関する文言切り替え(開催いたします → 開催いたしました) */ // ▼ 参加登録,新歓のタイマー ▼ // 変数 "state" に入る文字列により,ヘッダーのボタンと参加登録・お問い合わせページの表示を切り替え // strtotime 内にその年の参加登録,新歓の期間を適切に入れる // 【注意】"strtotime内"の書式は知識がない場合は変更しないこと('20xx-xx-xx yy:yy' の形式のまま。スペースなども削除しない) if ($now >= strtotime('2017-08-15 0:00') && $now <= strtotime('2017-09-10 23:59')) { // 参加登録の期間 $state = 'registration'; } elseif ($now >= strtotime('2019-01-01 0:00') && $now <= strtotime('2019-05-10 23:59')) { // 新歓の期間 $state = 'fresh'; } else { // 上記以外の期間 $state = 'default'; } /* * 【簡単な説明】 * 変数 "state" に "registration, fresh, default" のいずれかを代入することで条件分岐させている。 * registration ー 参加登録期(フォームを公開している期間) * fresh ー 新歓期(だいたい新歓の受付を始めてから,合宿の締切まで。その年による) *
PHP