php—ArrayAccess介面

提供像訪問數組一樣訪問對象的能力的介面。介面摘要ArrayAccess { /* 方法 */ abstract public boolean offsetExists ( mixed $offset ) abstract public mixed offsetGet ( mixed $offset ) abstract public void offsetSet ( mixed $offset , mixed $value ) abstract public

PHP用空格分割文本為數組的方法

php逐行讀取文字檔,然後處理空格分隔文本,輸出為數組的方法。文字文件text.txt內容:1 欄位1 欄位2 2 欄位1 欄位2 3 欄位1 欄位2 4 欄位1 欄位2 文本和文本之間用空格隔開,用php經過處理,輸出為數組,一下是代碼<?php $file = fopen("text.txt", "r") or exit("Unable to open file!"); while(!feof($file)) {

php 常用函數收集

<di做過PHP開發的程式員應該清楚,PHP中有很多內建的功能,掌握了它們,可以協助你在做PHP開發時更加得心應手,本文將分享8個開發必備的PHP功能,個個都非常實用,希望各位PHP開發人員能夠掌握。 1、傳遞任意數量的函數參數 我們在.NET或者JAVA編程中,一般函數參數個數都是固定的,但是PHP允許你使用任意個數的參數。下面這個樣本向你展示了PHP函數的預設參數: Php代碼 // 兩個預設參數的函數 function foo($arg1 = ”, $arg2 = ”) {

php上下文(Context)選項和參數

PHP 提供了多種上下文選項和參數,可用於所有的檔案系統或資料流封裝協議。上下文(Context)由 stream_context_create() 建立。選項可通過stream_context_set_option() 設定,參數可通過 stream_context_set_params() 設定。Socket context options — Socket上下文選項列表HTTP context options — HTTP上下文選項列表FTP context options —

php支援的協議和封裝協議

PHP 帶有很多內建 URL 風格的封裝協議,可用於類似 fopen()、 copy()、 file_exists() 和 filesize() 的檔案系統函數。 除了這些封裝協議,還能通過stream_wrapper_register() 來註冊自訂的封裝協議。Note: 用於描述一個封裝協議的 URL 文法僅支援 scheme://... 的文法。 scheme:/ 和 scheme: 文法是不支援的。file:// — 訪問本地檔案系統http:// — 訪問 HTTP(s) 網址ftp:

php安全簡介和總則

簡介PHP 作為一種強大的語言,無論是以模組還是 CGI 的方式安裝,它的解譯器都可以在伺服器上訪問檔案、運行命令以及建立網路連接等。這些功能也許會給伺服器添加很多不安全因素,但是只要正確地安裝和配置 PHP,以及編寫安全的代碼,那麼 PHP 相對於 Perl 和 C 來說,是能建立出更安全的 CGI 程式的。而且,也可以在可用性和安全性之間找到一個很好的平衡點。PHP 可能會被用在很多不同的方面,因此,PHP 內建的選項以方便使用者對其進行配置。雖然眾多的選項可以使 PHP

php串連sql server資料庫

安裝好php的sqlsrv模組 //本地串連 $serverName = "CX95DLISVW4C6TK\aaa";//電腦名稱\執行個體名 $connectionInfo = array("Database"=>"fff","ConnectionPooling"=>'','UID'=>'sa','PWD'=>'123&

php以CGI 模式安裝時可能遇到的攻擊及解決辦法

如果不想把 PHP 嵌入到伺服器端軟體(如 Apache)作為一個模組安裝的話,可以選擇以 CGI 的模式安裝。或者把 PHP 用於不同的 CGI 封裝以便為代碼建立安全的 chroot 和 setuid 環境。這種安裝方式通常會把 PHP 的可執行檔安裝到 網頁伺服器的 cgi-bin 目錄。儘管 PHP 可以作為一個獨立的解譯器,但是它的設計使它可以防止下面類型的攻擊:訪問系統檔案:http://my.host/cgi-bin/php?/etc/passwd 在 URL

Apache模式安裝時可能遇到的攻擊及解決辦法

當 PHP 以 Apache 模組方式安裝時,它將繼承 Apache 使用者(通常為“nobody”)的許可權。這對安全和認證有一些影響。比如,如果用 PHP 來訪問資料庫,除非資料庫有自己的存取控制,否則就要使“nobody”使用者可以訪問資料庫。這意味著惡意的指令碼在不用提供使用者名稱和密碼時就可能訪問和修改資料庫。一個 web Spider 也完全有可能偶然探索資料庫的管理頁面,並且刪除所有的資料庫。可以通過 Apache 認證來避免此問題,或者用 LDAP、.htaccess

php 擷取給定日期的前一天日期

/** * * 擷取給定日期的前一天 * @param string $date * @return string $yesterday */ public function getYesterday($date) { if(empty($date)) { $yesterday = date("Y-m-d",strtotime("-1 day"));

php檔案系統安全及防範措施

PHP 遵從大多數伺服器系統中關於檔案和目錄許可權的安全機制。這就使管理員可以控制哪些檔案在檔案系統內是可讀的。必須特別注意的是全域的可讀檔案,並確保每一個有許可權的使用者對這些檔案的讀取動作都是安全的。PHP 被設計為以使用者層級來訪問檔案系統,所以完全有可能通過編寫一段 PHP 代碼來讀取系統檔案如 /etc/passwd,更改網路連接以及發送大量列印任務等等。因此必須確保 PHP 代碼讀取和寫入的是合適的檔案。請看下面的代碼,使用者想要刪除自己主目錄中的一個檔案。假設此情形是通過 web

php自訂全域常量與類常量

/** * 1、define(name,value,case_insensitive) 自訂全域常量, 預設大小寫敏感 * 2、const 定義類常量。 * 3、常量名前不要使用”$” * 4、常量的命名一般全部使用大寫字母。 *///定義全域常量 LANGUAGEdefine('LANGUAGE','中國');echo language;//languageecho LANGUAGE;//中國//定義全域常量 CNdefine('CN','

php—Null字元問題

由於 PHP 的檔案系統操作是基於 C 語言的函數的,所以它可能會以您意想不到的方式處理 Null 字元。 Null字元在 C 語言中用於標識字串結束,一個完整的字串是從其開頭到遇見 Null 字元為止。 以下代碼示範了類似的攻擊:Example #1 會被 Null 字元問題攻擊的代碼<?php $file = $_GET['file']; // "../../etc/passwd\0" if

php資料庫安全——SQL注入及預防措施

很多 web 開發人員沒有注意到 SQL 查詢是可以被篡改的,因而把 SQL 查詢當作可信任的命令。殊不知道,SQL 查詢可以繞開存取控制,從而繞過身分識別驗證和許可權檢查。更有甚者,有可能通過 SQL 查詢去運行主機作業系統級的命令。直接 SQL 命令注入就是攻擊者常用的一種建立或修改已有 SQL 陳述式的技術,從而達到取得隱藏資料,或覆蓋關鍵的值,甚至執行資料庫主機作業系統命令的目的。這是通過應用程式取得使用者輸入並與靜態參數組合成 SQL

php資料庫安全——設計、串連和加密

設計資料庫第一步一般都是建立資料庫,除非是使用第三方的資料庫服務。當建立一個資料庫的時候,會指定一個所有者來執行和建立語句。通常,只有所有者(或超級使用者)才有權對資料庫中的對象進行任意操作。如果想讓其他使用者使用,就必須賦予他們許可權。應用程式永遠不要使用資料庫擁有者或超級使用者帳號來串連資料庫,因為這些帳號可以執行任意的操作,比如說修改資料庫結構(例如刪除一個表)或者清空整個資料庫的內容。應該為程式的每個方面建立不同的資料庫帳號,並賦予對資料庫物件的極有限的許可權。僅分配給能完成其功能所需的

php截取中英文字串操作

今天遇到一個這樣的問題。想必大家都遇到過,因為排版需要,如果使用者名稱如果過長的話,將做截取操作,顯示為... 。 我們的需求類似sina 微博,如果是中文的話,最多顯示5位,如果超過5位則顯示4個中文,三個... ,大家都知道,排版時一個中文佔兩個英文的位置。所以要最多顯示10位,類推上面的來的。在網上找到的解決辦法不是很好,我自己寫了一個。我把它們放到helper裡面了。不說思路了,直接上代碼吧。<?phpclass Zend_View_Helper_UserName{

php錯誤報表

對於 PHP 的安全性來說錯誤報表是一把雙刃劍。一方面可以提高安全性,另一方面又有害。攻擊系統時經常使用的手法就是輸入不正確的資料,然後查看錯誤提示的類型及上下文。這樣做有利於攻擊者收集伺服器的資訊以便尋找弱點。比如說,如果一個攻擊者知道了一個頁面所基於的表單資訊,那麼他就會嘗試修改變數:Example #1 用自訂的 HTML 頁面攻擊變數<form method="post"

php使用者提交的資料

很多 PHP 程式所存在的重大弱點並不是 PHP 語言本身的問題,而是編程者的安全意識不高而導致的。因此,必須時時注意每一段代碼可能存在的問題,去發現非正確資料提交時可能造成的影響。Example #1 危險的變數用法<?php // 從使用者目錄中刪除一個檔案,或者……能刪除更多的東西? unlink ($evil_var); // 記錄使用者的登陸,或者……能否在 /etc/passwd 添加資料? fwrite ($fp, $evil_var); //

php資料的儲存與檢索

儲存資料有兩種基本方法:儲存到普通檔案,或者儲存到資料庫中。 資料寫入: 1、開啟檔案。如果檔案不存在,需要先建立它。2、將資料寫入這個檔案。3、關閉這個檔案。資料讀出: 1、開啟檔案。如果這個檔案不能開,就應該意識到這一點並且正確地推出。2、從檔案中讀出資料。3、關閉這個檔案。選擇檔案模式: 當開啟一個檔案的時候,有以下三種選擇。

隱藏php指令碼副檔名

一般而言,通過隱藏的手段提高安全性被認為是作用不大的做法。但某些情況下,儘可能的多增加一份安全性都是值得的。一些簡單的方法可以協助隱藏 PHP,這樣做可以提高攻擊者發現系統弱點的難度。在 php.ini 檔案裡設定 expose_php = off ,可以減少他們能獲得的有用資訊。另一個策略就是讓 網頁伺服器用 PHP 解析不同副檔名。無論是通過 .htaccess 檔案還是 Apache 的設定檔,都可以設定能誤導攻擊者的副檔名:Example #1 把 PHP 隱藏為另一種語言#

總頁數: 5203 1 .... 997 998 999 1000 1001 .... 5203 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.