搜尋
首頁後端開發php教程PHP与ASP.NET正面交锋二_PHP教程

PHP与ASP.NET正面交锋二_PHP教程

Jul 13, 2016 pm 05:27 PM
asp.netphp安全性官方正面比較

接上一篇:PHP 与 ASP.NET正面交锋(一) 安全性比较 ASP.NET 官方要求您使用 IIS。不幸的是,IIS 易受攻击的历史由来已久,这使得许多管理员不愿意部署它来处理 Web 站点。这些弱点是因为 Microsoft 的缺陷或是因为 IIS 是黑客们攻击的目标无关紧要:这些系统有被黑或被攻击的历史。PHP 也运行在 Apache 上,Apache 快速并且是开放源代码的,并拥有很好的安全性记录。此外,正如我提到过的,Apache 可以在许多平台上运行。 如果您在考虑 ASP.NET,但您想用 Apache 作为 Internet 门户,那么很幸运您可以有一些选择。首先,您可以使用 Apache 将请求转发给在另一台计算机上内部运行的 IIS。然后 Apache 处理静态内容,并将 aspx 内容传送给 IIS 服务器(不暴露给 Internet)。 不过,如果您想利用 Apache 承载 ASP.NET,那么提供了一些选项,这些选项 Microsoft 可能支持也可能不支持。作为最后一种选择,有 Ximian 的 Project Mono,它致力于构建一个开放源代码模块。请浏览 www.go-mono.com,以获取更多信息。 数据库编码示例 您在选用 PHP 或 ASP.NET 时首先要考虑因素之一就是与数据库的连接。不过,利用 ASP.NET 更复杂,因为您可以从许多备选语言中选择任意一种语言。当然,这些代码示例将必须嵌入到 HTML 页面、实例化的类等之中。不过,以下信息将使您对二者的编码风格有所了解。 PHP 5 与 Oracle 连接 下面是一个 PHP 5 类,它提供了一个 Oracle 连接和断开例程,用以演示利用 PHP 5(也可以使用其他驱动程序(如 ODBC 驱动程序)和通用的数据库接口)与 Oracle 连接的一种方式: class oracle_object { protected $theDB; protected $user; protected $pass; protected $db; function __construct($u, $p, $d) { $this->user = $u; $this->pass = $p; $this->db = $d; } function db_open () { $theDB = @OCILogon($this->user, $this->pass, $this->db); db_check_errors($php_errormsg); } function db_close() { @OCILogoff($theDB); db_check_errors($php_errormsg); } function __destruct () { print ("so long..."); } } ASP.NET 与 Oracle 连接 如果您希望利用 VB.NET(Visual Basic 是 Microsoft 的默认 .NET 编程语言)与 Oracle 连接,那么请看一下这个来自 MSDN 的示例: Imports System Imports System.Data Imports System.Data.OracleClient Imports Microsoft.VisualBasic Class Sample Public Shared Sub Main() Dim oraConn As OracleConnection = New OracleConnection ("Data Source=MyOracleServer;Integrated Security=yes;") Dim oraCMD As OracleCommand = New OracleCommand ("SELECT CUSTOMER_ID, NAME FROM DEMO.CUSTOMER", oraConn) oraConn.Open() Dim myReader As OracleDataReader = oraCMD.ExecuteReader() Do While (myReader.Read()) Console.WriteLine(vbTab & "{0}" & vbTab & "{1}", myReader.GetInt32(0), myReader.GetString(1)) Loop myReader.Close() oraConn.Close() End Sub End Class 作出选择 假定您还没有决定选用 PHP,我可以断言 PHP 的优势远远超过它的弱点。(请参见表 1 中的概要。)这些优势归结为价格、速度和效率、安全性、跨平台适用性和开放源代码机遇。它惟一的弱点是缺少一种纯粹和完美的 OOP 实现,不过,这是一个很小的缺点。虽然语言结构的确有帮助,但好的编码最终是由实践、执行、好的习惯和规范带来的。 表 1 PHP 4 PHP 5 ASP.NET 软件价格 免费 免费 免费 平台价格 免费 免费 $$ 速度 强 强 弱 效率 强 强 弱 安全性 强 强 强 平台 强 强 弱(仅用于 IIS) 平台 任意 任意 win32(仅用于 IIS) 是否提供源代码 是 是 否 异常 否 是 是 OOP 弱 强 强 价格。在此,我们不应简单地考虑初始投资 — 对 PHP 而言,这很明显是免费的 — 还应考虑实施、维护和调试的成本。对 PHP 而言,您可能需要购买 Zend 优化引擎。然而,使用 ASP,您将从一开始就进行投资,而且您还要为附加的技术 — 例如,执行图形处理的库 — 支付费用。但从长远来看,PHP 将不会逼迫您升级并向您收取更多的许可费用。接触过复杂许可的每一个人都知道,很多公司花费大量的时间和金钱仅是为了确保其顺应性。此外,当在获得错误修复的时间上,您得到的反应也有所不同。这当然将转化成时间,时间又将转化成总体开发的成本。 速度和效率。正如我先前提到的,ASP.NET 是一个允许您使用各种编程语言的框架。此外,它据称拥有一个极好的面向对象模型。尽管所有这些都是真的,但在考虑到速度时,它却是不利的。基于以上原因,在 ASP.NET 中运行 ASP 页面与在 PHP 引擎中运行等效的 PHP 页面相比需要执行更多代码。PHP 是一种“快速粗糙”的解决方案,是为完成工作而设计的解决方案。虽然自 2.0 和 3.0 版本以来为其增强了许多强健性,但它仍然保留着核心的优化的高速方法。 速度不是惟一要考虑的因素。内存使用率也很重要。 安全性。ASP.NET 运行在 IIS 上,而 IIS 已被攻击了无数次 — 正如每隔一周的 IT 新闻报告所证实的。它已经成为这样一种负担,实际上,尽管其耗巨资进行销售宣传,但许多 IT 专业人员仍然拒绝用 IIS Web 服务器来开放他们的网络。而 PHP 使用 Apache。Apache 拥有已被证明的速度、可靠性和稳固的安全性的记录。请浏览 www.securityfocus.com,以获取更多信息。 跨平台适用性。ASP.NET 在 IIS 上运行,并且开始在 Apache 上运行(Apache 能够在许多平台上运行)。PHP 从一开始就设计用于和 Apache 一起工作,因此您拥有许多可供选择的已被证明和可靠的服务器平台。 开放源代码机遇。开放源代码并不只靠一些异想天开的编程人员或想要节省一些许可费用的公司来开展。当您处理软件本身的错误时,开放源代码可能成为真正的天赐之物。 在使用 PHP 或 ASP.NET 的情况下,您都会有一个大的用户群,他们使用软件并且可能遇到错误。使用 ASP.NET,这些错误必须通过一个官方程序来通知、修复、测试,并在一个新的补丁或版本中消除。然而,PHP 补丁可以快速地得到修补并发布。目睹开放源代码发展的任何人都知道,新的版本和补丁通常在几天内而不是像商业软件一样在几个星期或几个月内推出。如果这不够快,那么您通常可以自己来修补问题(如果必要的话)。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/531907.htmlTechArticle接上一篇:PHP 与 ASP.NET正面交锋(一) 安全性比较 ASP.NET 官方要求您使用 IIS。不幸的是,IIS 易受攻击的历史由来已久,这使得许多管理员不...
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
如何使PHP應用程序更快如何使PHP應用程序更快May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster,關注台詞:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

PHP性能優化清單:立即提高速度PHP性能優化清單:立即提高速度May 12, 2025 am 12:07 AM

到ImprovephPapplicationspeed,關注台詞:1)啟用opcodeCachingwithapCutoredUcescriptexecutiontime.2)實現databasequerycachingingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandreduceconnection.4 limitesclection.4.4

PHP依賴注入:提高代碼可檢驗性PHP依賴注入:提高代碼可檢驗性May 12, 2025 am 12:03 AM

依赖注入(DI)通过显式传递依赖关系,显著提升了PHP代码的可测试性。1)DI解耦类与具体实现,使测试和维护更灵活。2)三种类型中,构造函数注入明确表达依赖,保持状态一致。3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

PHP性能優化:數據庫查詢優化PHP性能優化:數據庫查詢優化May 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

簡單指南:帶有PHP腳本的電子郵件發送簡單指南:帶有PHP腳本的電子郵件發送May 12, 2025 am 12:02 AM

phpisusedforsenderemailsduetoitsbuilt-inmail()函數andsupportivelibrariesLikePhpMailerAndSwiftMailer.1)usethemail()functionForbasiceMails,butithasimails.2)butithasimail.2)

PHP性能:識別和修復瓶頸PHP性能:識別和修復瓶頸May 11, 2025 am 12:13 AM

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显著提升PHP应用的性能。

PHP的依賴注入:快速摘要PHP的依賴注入:快速摘要May 11, 2025 am 12:09 AM

依賴性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增強量強制性,可驗證性和MATIALWINABIOS.ItallowSpasspassingDepentenciesLikEdenciesLikedAbaseConnectionStoclasseconnectionStoclasseSasasasasareTers,interitationAseTestingEaseTestingEaseTestingEaseTestingEasingAndScalability。

提高PHP性能:緩存策略和技術提高PHP性能:緩存策略和技術May 11, 2025 am 12:08 AM

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中