date_default_timezone_set('PRC');
/**
* 特定の日付から一定の日数が経過した後の日付を取得します。
* 土日祝日を除く
* @param $start 開始日
* @param $offset 経過日数
* @param $Exception例外の休日
* @param $allow 許可される日付 (予約済みパラメーター)
* @return
* 例: input (2010-06-25,5,'')、get 2010-07-02
*/
function getEndDay( $start='now', $offset=0, $Exception='', $allow='' ){
//First計算には土日祝日の結果は含まれません
$starttime = strtotime($start);
$endtime = $starttime + $offset * 24 * 3600;
$end = date('Y-m-d', $ endtime) ;
//次に土曜日と日曜日によるオフセットを計算します
$weekday = date('N', $starttime); // 曜日の値を取得します: 1-7
$remain = $offset % 7;
$ newoffset = 2 * ($offset - $remain) / 7;//毎週 2 日を再計算する必要があります
if( $remain > 0 ){//週の余りは切り上げられます
$tmp = $weekday + $remain ;
if($ tmp> = 7){
if($ weekday == 6){
offset
if(is_array($ exception)){//複数のホリデー
//範囲(a、b]
;
}} _time> $ starttime && $ tmp_time< = $ endtime){
$ weekday_t等価操作は再帰的に
if($ newoffset> 0){
#echo "[{$ start} - > {$ offset }] = [{$ end} - > {$ newoffset}] "。"< br /> n ";終了、$newoffset、$$例外、$allow); return $end;
}
}
/**
* 暴力循環法
*/
function getEndDay2( $start='now', $offset=0, $Exception='', $allow='' ){
$starttime = strtotime($start);
$tmptime = $starttime + 24*3600;
while( $offset > 0 ){
$weekday = date('N', $tmptime);
$tmpday = date('Y-m -d', $tmptime);
$bfd = false;//否节假日
if(is_array($Exception)){
$bfd = in_array($tmpday,$Exception);
}else{
$bfd = ( $Exception==$tmpday);
}
if( $weekday $offset--;
#echo "tmpday={$tmpday}"。 < ;br />";
$tmptime += 24*3600;
}
return $tmpday;
}
$例外 = array(
'2010-01-01','2010- 01-02' 、'2010-01-03',
'2010-04-03','2010-04-04','2010-04-05',
'2010-05-01','2010-05-02' 、'2010-05-03'、
'2010-06-14'、'2010-06-15'、'2010-06-16'、
'2010-09-22'、'2010-09-23' 、'2010-09-24',
'2010-10-01','2010-10-02','2010-10-03','2010-10-04',
'2010-10-05' ,'2010-10-06','2010-10-07',
);
//echo getEndDay('2010-08-27',3,'');
//echo getEndDay('2010- 06-25',15,'2010-07-07');
$t1 = microtime();
echo getEndDay('2010-05-12',66,$Exception)."
" ;
$t2 = microtime();echo "use ".($t2-$t1)." s
";
echo getEndDay2('2010-05-12',66,$Exception). "
";
$t3 = microtime();echo "".($t3-$t2) を使用します。" s
";

負荷分散はセッション管理に影響しますが、セッションの複製、セッションの粘着性、集中セッションストレージで解決できます。 1。セッションレプリケーションサーバー間のセッションデータをコピーします。 2。セッションスティンネスは、ユーザーリクエストを同じサーバーに指示します。 3.集中セッションストレージは、Redisなどの独立したサーバーを使用してセッションデータを保存してデータ共有を確保します。

SESSIONLOCKINGISATECHNIQUESTOESUREAUSER'SSESSIONREMAINSEXCLUSIVETOONEUSATIME.ITISCRUCIALFORPREVENTINGDATACORTIONANDSECURITYBREACHESINMULTI-USERAPPLICATIONS.SESSIONLOCKINGISISIMPLEMENTEDUSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGSINGROCKINGSMECHANISMなど

PHPセッションの代替品には、Cookie、トークンベースの認証、データベースベースのセッション、Redis/Memcachedが含まれます。 1.Cookiesは、クライアントにデータを保存することによりセッションを管理します。 2.トークンベースの認証はトークンを使用してユーザーを検証します。これは非常に安全ですが、追加のロジックが必要です。 3.Databaseベースのセッションは、データベースにデータを保存します。これは、スケーラビリティが良好ですが、パフォーマンスに影響を与える可能性があります。 4. Redis/Memcachedは分散キャッシュを使用してパフォーマンスとスケーラビリティを向上させますが、追加のマッチングが必要です

SessionHijackingとは、ユーザーのSessionIDを取得してユーザーになりすましている攻撃者を指します。予防方法には、次のものが含まれます。1)HTTPSを使用した通信の暗号化。 2)SessionIDのソースの検証。 3)安全なSessionID生成アルゴリズムの使用。 4)SessionIDを定期的に更新します。

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

WebStorm Mac版
便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









