亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

起步-學(xué)習(xí)php擴展開發(fā)的背景

joyqi / 1519人閱讀

摘要:開發(fā)擴展是用語言實現(xiàn)的,流行的很大一個原因也是因為有大量開發(fā)者通過擴展實現(xiàn)大量通用的功能供廣大社區(qū)開發(fā)者使用。擴展化的優(yōu)勢產(chǎn)品安全性和私密性好系統(tǒng)性能高擴展化的劣勢開發(fā)效率低的優(yōu)勢之一就是開發(fā)效率高,需要選擇系統(tǒng)合適的模塊進行擴展化。

php是解釋性語言,不需要編譯。對于用php寫的產(chǎn)品,如果需要直接源碼安裝到客戶的運行環(huán)境中,則存在很大的安全隱患??蛻羯踔量梢园涯愕漠a(chǎn)品直接做二次部署或者銷售。目前我們公司就遇到這個問題。

1. 利用zend guard
Zend Guard不僅可以實現(xiàn)對PHP應(yīng)用的腳本進行加密保護和對PHP應(yīng)用的產(chǎn)品進行商業(yè)許可證管理,還可以為許多軟件生產(chǎn)商、IT服務(wù)提供商提供完善的加密和安全的產(chǎn)品發(fā)布系統(tǒng)。(摘自百度百科)
雖然zend guard 能增加一定的安全性,但是網(wǎng)上zend guard解碼工具一大堆,zend guard只能做最基本的防護。

2.開發(fā)php擴展
php是用C語言實現(xiàn)的,php流行的很大一個原因也是因為有大量開發(fā)者通過擴展實現(xiàn)大量通用的功能供廣大社區(qū)開發(fā)者使用。php擴展開發(fā)的意義和好處,鳥哥也在其博客中有過闡述:用C/C++擴展你的PHP
3、公司產(chǎn)品的分析

進行php擴展開發(fā),首先需要有不錯的C/C++基礎(chǔ),同時也需要熟悉php擴展API。有一定的技術(shù)門檻,同樣對于一個以php為主要技術(shù)棧的初創(chuàng)性公司來說,需要考慮技術(shù)和時間成本。

php擴展化的優(yōu)勢:

產(chǎn)品安全性和私密性好

系統(tǒng)性能高

php擴展化的劣勢:

開發(fā)效率低 php的優(yōu)勢之一就是開發(fā)效率高,需要選擇系統(tǒng)合適的模塊進行擴展化。

維護成本高 越多的模塊擴展化,則要求團隊中需要更多的人即熟悉C 又懂php,人力成本也將增大,同時,因為擴展需要編譯,調(diào)試和bug修復(fù)的成本也將增大。

通過討論和分析我們目前產(chǎn)品的情況,如圖所示:


思路:
我們首要目標(biāo)是保證產(chǎn)品系統(tǒng)的隱私性,即我們會在擴展中對用戶的一些信息和權(quán)限進行校驗。同時,為了保證用戶不能繞過我們的校驗,則需要擴展中的功能是系統(tǒng)必須的,用戶如果需要重寫,需要很大的成本。

a、起初,討論過程中,大家的意見都是建議盡量少的代碼改動,把入口進行擴展化。但是我們目前系統(tǒng)是基于yii開發(fā)的,如果更改yii框架中的入口內(nèi)容,這樣做無法解決問題:1、對于熟悉yii框架的開發(fā)人員來說,他可以輕易繞過你的擴展內(nèi)容。2、不利用后續(xù)yii框架的升級。
b、第二種方案配置文件擴展化,第一反應(yīng),把配置文件放在擴展中,如果去掉擴展,系統(tǒng)就無法正常運行。但是,仔細思考后,就發(fā)現(xiàn),無論配置信息本地加密,還是通過擴展遠程獲取,最終通過調(diào)試,都能在程序中獲得配置的具體信息,這樣就能直接繞過我們的擴展,即我們的校驗就無效了。

c、最后我們決定,將基礎(chǔ)服務(wù)部分的內(nèi)容進行擴展化。這樣既能不影響容易變更的業(yè)務(wù)邏輯的開發(fā)效率,同時也增加了系統(tǒng)的隱私性和基礎(chǔ)服務(wù)的效率。擴展化的服務(wù)越多,用戶需要破解和覆蓋的功能越多,用戶的開發(fā)成本就越大。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/22622.html

相關(guān)文章

  • PHP擴展開發(fā)系列02 - 老司機起步之函數(shù)

    摘要:上一篇擴展開發(fā)引導(dǎo)文章中。這篇文章就開始介紹使用工具來生成擴展項目文件注意這里的本身沒有這玩意,是我給自帶的起的別名這個工具就是還有點迷惑那不廢話了。至于其他參數(shù)自行了解。發(fā)現(xiàn)也是有這三個文件的。所以,不要質(zhì)疑自己。 上一篇擴展開發(fā)引導(dǎo)文章中。創(chuàng)建了編寫擴展的三個基本文件?;蛟S你會有個疑問PHP沒有類似的自動生成項目框架的工具嗎? 當(dāng)然有。這篇文章就開始介紹使用 php-ext-cli...

    cloud 評論0 收藏0
  • 《 Kotlin + Spring Boot : 下一代 Java 服務(wù)端開發(fā)

    摘要:下一代服務(wù)端開發(fā)下一代服務(wù)端開發(fā)第部門快速開始第章快速開始環(huán)境準(zhǔn)備,,快速上手實現(xiàn)一個第章企業(yè)級服務(wù)開發(fā)從到語言的缺點發(fā)展歷程的缺點為什么是產(chǎn)生的背景解決了哪些問題為什么是的發(fā)展歷程容器的配置地獄是什么從到下一代企業(yè)級服務(wù)開發(fā)在移動開發(fā)領(lǐng)域 《 Kotlin + Spring Boot : 下一代 Java 服務(wù)端開發(fā) 》 Kotlin + Spring Boot : 下一代 Java...

    springDevBird 評論0 收藏0
  • PHP學(xué)習(xí) Day 0 起步

    摘要:記錄一下學(xué)習(xí)的軌跡。起步推薦用最新的。內(nèi)建服務(wù)器這年頭大部分語言都支持這一出了。交互式的環(huán)境學(xué)習(xí)方便,推薦下家的是用寫的。結(jié)尾可以省略,然后可以簡寫成,于是上面的可以簡寫成當(dāng)然像這種一行的,用也成練習(xí)題感謝出題搭好環(huán)境,寫出第一個。 記錄一下學(xué)習(xí)的軌跡。 入門資料 對我而言好的入門資料要符合兩個要求: 能夠切實幫助以比較正的方式入門 薄 真沒找到什么好的入門資料。沒有《Di...

    Cruise_Chan 評論0 收藏0
  • 如何基于 PHP-X 快速開發(fā)一個 PHP 擴展

    摘要:這里看到,表明你的擴展已經(jīng)加載成功了,現(xiàn)在就可以調(diào)用這個擴展函數(shù)了。是不是很簡單更多上面的例子還比較簡單,只是編寫了一個擴展函數(shù)。 PHP-X是我在2017年年初創(chuàng)建的一個新項目。這個項目的目標(biāo)就是讓有一定工作經(jīng)驗的PHP程序都能夠具備擴展開發(fā)的能力。 0x00 初衷 從2012年開始編寫swoole,現(xiàn)在算來已經(jīng)有5個年頭了。我發(fā)現(xiàn)編寫一個 PHP 擴展這個工作非常艱難。PHP 程序...

    callmewhy 評論0 收藏0
  • 【翻譯】Next.js背后哲學(xué)和設(shè)計

    摘要:無數(shù)的模板語言和框架應(yīng)運而生但是技術(shù)始終被分割為前端和后端。這意味著一個頁面可以有很多的這并不會對其余的頁面有任何影響。提前綁定和編譯預(yù)測是一個非常有效的部署方式。最后,這是我們對于這個特定問題的貢獻。 Next.js 原文地址 Naoyuki Kanezawa (@nkzawa), Guillermo Rauch (@rauchg) 和 Tony Kovanen (@tonykova...

    plokmju88 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<