Php 使用在线脚本模糊处理安全吗?

Php 使用在线脚本模糊处理安全吗?,php,security,obfuscation,software-distribution,Php,Security,Obfuscation,Software Distribution,我正在考虑保护我的脚本,让绝大多数不懂web开发的用户使用,我遇到了一个在线服务来编码php脚本。不过我不确定 加密php脚本安全吗?如果编码的代码中有可疑的东西怎么办?php通常运行在用户无法访问代码的服务器上,无论是源代码还是任何其他表示形式。没有理由在那里混淆它 混淆php只在将php代码提供给客户端的少数情况下有用。例如,如果您希望客户端能够运行自己的服务器,但不允许他们完全访问代码。php通常运行在用户无法访问代码的服务器上,无论是源代码还是任何其他表示形式。没有理由在那里混淆它 混淆

我正在考虑保护我的脚本,让绝大多数不懂web开发的用户使用,我遇到了一个在线服务来编码php脚本。不过我不确定


加密php脚本安全吗?如果编码的代码中有可疑的东西怎么办?

php通常运行在用户无法访问代码的服务器上,无论是源代码还是任何其他表示形式。没有理由在那里混淆它


混淆php只在将php代码提供给客户端的少数情况下有用。例如,如果您希望客户端能够运行自己的服务器,但不允许他们完全访问代码。

php通常运行在用户无法访问代码的服务器上,无论是源代码还是任何其他表示形式。没有理由在那里混淆它


混淆php只在将php代码提供给客户端的少数情况下有用。例如,如果您希望客户机能够运行自己的服务器,但不允许他们完全访问代码。

因此,它所做的一切似乎都是混淆代码,使其不可读。唯一有效的方法是防止有权访问代码的懒人阅读代码。然而,它使用简单的函数进行编码/解码,因此,如果有人可以访问,那么对他们进行解码就非常容易了


这让我想到了我的观点。。。PHP安全性的工作原理是不允许任何人访问源文件。如果不应该有访问权限的人得到了它,那么这种编码方式对你没有任何好处。

因此,它所做的一切似乎都是混淆代码,因此它不是人类可读的。唯一有效的方法是防止有权访问代码的懒人阅读代码。然而,它使用简单的函数进行编码/解码,因此,如果有人可以访问,那么对他们进行解码就非常容易了


这让我想到了我的观点。。。PHP安全性的工作原理是不允许任何人访问源文件。如果不应该有访问权限的人获得了它,那么这种编码方式对您没有任何好处。

如果您打算分发PHP文件,那么我建议您不要这样做。这只会激怒那些想修补它的人

如果出于某种原因,您不希望他们修补它,那么不要分发PHP文件

如果您需要分发该文件,并且不希望他们对其进行修补,那么我强烈建议您不要在PHP中这样做,而是使用C作为PHP的扩展来编写该功能


您会注意到,在任何情况下,我都不建议您对php文件进行编码。这不会给您带来任何好处。

如果您打算分发PHP文件,那么我建议您不要这样做。这只会激怒那些想修补它的人

如果出于某种原因,您不希望他们修补它,那么不要分发PHP文件

如果您需要分发该文件,并且不希望他们对其进行修补,那么我强烈建议您不要在PHP中这样做,而是使用C作为PHP的扩展来编写该功能


您会注意到,在任何情况下,我都不建议您对php文件进行编码。这不会给您带来任何好处。

如果您想混淆服务器端PHP,最好使用Zend Guard等商业产品。任何家用brew加密都是不安全的-您的代码可以轻松地进行反向工程,只需相当小的工作量。你链接到的页面没有任何可信度,它只是某人的附带项目。他们在保护您的信息方面没有责任感或利害关系

即使是Zend Guard、ionCube、phpShield、SourceGuardian等商业产品,如果有人真的、真的想解密,也可以解密。任何语言中的工具或技术都不能进行绝对安全的模糊处理,也没有不可修改的系统。随着时间的推移,一切都归结为努力

如果这件事还不够重要,你可能在这个问题上浪费时间。此外,如果某些信息或代码保持隐私是绝对重要的,那么您不应该将其公开


[为清晰起见进行了编辑]

如果您希望混淆服务器端PHP,最好使用商业产品,如Zend Guard。任何家用brew加密都是不安全的-您的代码可以轻松地进行反向工程,只需相当小的工作量。你链接到的页面没有任何可信度,它只是某人的附带项目。他们在保护您的信息方面没有责任感或利害关系

即使是Zend Guard、ionCube、phpShield、SourceGuardian等商业产品,如果有人真的、真的想解密,也可以解密。任何语言中的工具或技术都不能进行绝对安全的模糊处理,也没有不可修改的系统 tem。随着时间的推移,一切都归结为努力

如果这件事还不够重要,你可能在这个问题上浪费时间。此外,如果某些信息或代码保持隐私是绝对重要的,那么您不应该将其公开


[为清晰起见进行了编辑]

最终,您需要信任加密方。如果你不信任他们,显然你不信任他们,那么就不要通过执行他们的解密代码/你的模糊代码来让他们访问你的服务器,可能还有谁知道里面还有什么。就这么简单,尽管可能不方便。

最终,您需要信任加密方。如果你不信任他们,显然你不信任他们,那么就不要通过执行他们的解密代码/你的模糊代码来让他们访问你的服务器,可能还有谁知道里面还有什么。尽管可能不方便,但还是很简单。

OP提到了对保护数据库连接细节的兴趣,并且应该记住,无论代码本身使用什么保护系统,PHP引擎和组件库都是开源的,这对可以实现的功能设置了一些绝对的限制。例如,如果MySQL连接详细信息隐藏在脚本中,那么这些详细信息就可以通过运行对MySQL库或相关PHP模块包装器稍作修改的PHP构建脚本而不必接近PHP脚本本身。在这种情况下,即使按照Chris L.的建议将细节隐藏在C模块中也无法提供额外的保护。使用诸如ionCube和Zend之类的编译代码系统,源代码当然可以得到很好的保护,但是只要数据访问PHP核心中的例程,它就可以被公开


显然,对于任何您可能发送敏感信息的在线服务,您应该尽职调查,并尽最大努力确保其具有良好的血统。除了任何其他东西,没有OPT网站的工作HTTPS URL应该立即警告它是“否”,而不仅仅是因为缺少连接加密,而是显示他们没有提供他们认为是严重的服务。

< P>提到保护数据库连接细节的兴趣,应该记住的是,无论代码本身使用何种保护系统,PHP引擎和组件库都是开源的,它们对可以实现的功能设置了一些绝对的限制。例如,如果MySQL连接详细信息隐藏在脚本中,那么这些详细信息就可以通过运行对MySQL库或相关PHP模块包装器稍作修改的PHP构建脚本而不必接近PHP脚本本身。在这种情况下,即使按照Chris L.的建议将细节隐藏在C模块中也无法提供额外的保护。使用诸如ionCube和Zend之类的编译代码系统,源代码当然可以得到很好的保护,但是只要数据访问PHP核心中的例程,它就可以被公开


显然,对于任何您可能发送敏感信息的在线服务,您应该尽职调查,并尽最大努力确保其具有良好的血统。除了任何其他东西,没有一个工作的HTTPS URL的网站,OP质疑应该立即警告,它是一个NO,不仅是因为缺乏连接加密,但显示他们没有提供一个服务,他们认为是严重的。< / P >什么意思编码?你能提供服务的链接吗?我们不知道你在说什么,抱歉。这里是链接:我想他一定是在谈论混淆或打包代码。你说的编码是什么意思?你能提供服务的链接吗?我们不知道你在说什么,抱歉。这里是链接:我想他一定是在谈论混淆或打包代码。是的,我正在研究wordpress主题,所以我必须在一个.zip中给出所有内容,包括所有.php文件。我有php脚本,我不想让用户玩。是的,我正在做一个wordpress主题,所以我必须在一个.zip中给出所有的东西,包括所有的.php文件。我有php脚本,我不想让用户玩。这是一个WordPress主题,所以我需要提供所有的php脚本,它才能工作。使用C作为php的扩展是什么意思?什么是C?C是一种完全不同的编程语言。虽然这个答案略为正确,但我不同意唯一的选择是学习一门全新的语言。正如我在自己的回答中提到的,有许多受人尊敬的商业解决方案用于分发受反向工程保护的PHP代码。也就是说,PHP是一种适合开源的语言,这就是为什么它被作为一种在线语言接受的原因。代码和引擎本身并不是为了创建一个客户端实现者无法访问的产品。你能列举一些其他的方法吗

绕过这个问题?我在脚本mysql db connection info中有敏感数据,所以我真的需要尽可能安全。谢谢你的时间。@Chris:我提到C只是为了增加难度。此外,没有任何东西可以保护您免受逆向工程的影响。让它变得更难一点?对保护不。我同意你的观点,PHP更多地是为了开源,而不是为了分发付费、尝试和保护知识产权。@Chris Lively和@nav:这里的共识是,不,你提供的链接不安全,不,你不能对你的源代码有绝对的保护。我们可能有不同的方法来缓解这一现实,但我们任何人提供的任何解决方案都只是安全程度的一半。简单地说,这不是一个看起来那么简单的问题这是一个WordPress主题,所以我需要提供所有的php脚本才能让它工作。使用C作为php的扩展是什么意思?什么是C?C是一种完全不同的编程语言。虽然这个答案略为正确,但我不同意唯一的选择是学习一门全新的语言。正如我在自己的回答中提到的,有许多受人尊敬的商业解决方案用于分发受反向工程保护的PHP代码。也就是说,PHP是一种适合开源的语言,这就是为什么它被作为一种在线语言接受的原因。代码和引擎本身并不是为了创建一个客户端实现者无法访问的产品。你能列举一些解决这个问题的其他方法吗?我在脚本mysql db connection info中有敏感数据,所以我真的需要尽可能安全。谢谢你的时间。@Chris:我提到C只是为了增加难度。此外,没有任何东西可以保护您免受逆向工程的影响。让它变得更难一点?对保护不。我同意你的观点,PHP更多地是为了开源,而不是为了分发付费、尝试和保护知识产权。@Chris Lively和@nav:这里的共识是,不,你提供的链接不安全,不,你不能对你的源代码有绝对的保护。我们可能有不同的方法来缓解这一现实,但我们任何人提供的任何解决方案都只是安全程度的一半。简单地说,这不是一个看起来那么简单的问题嘿我应该解释我为什么要保护他们。抱歉,这是wordpress主题的便签,因此我必须给出我不希望用户使用的脚本。@nav:您应该解释一下,是的:删除了第二段,因为它偏离了主要内容。这仍然存在:您将从该页面获得的代码将拥有您在服务器上的权限;你相信它不会滥用这些权利吗?这就是问题所在。我以前从未使用过这项服务,所以我根本不信任它。该脚本包含敏感信息,如mysql db连接信息,因此我不想承担任何风险。@nav:如果您根本不信任它,并且希望避免风险,那么您应该将您的敏感数据提供给它吗?我不认为这个问题和解决方案会比这更明显,即使这是一个不方便的答案。请注意,这不是免费的,甚至不像啤酒产品那样免费。另见这个问题:嘿。我应该解释我为什么要保护他们。抱歉,这是wordpress主题的便签,因此我必须给出我不希望用户使用的脚本。@nav:您应该解释一下,是的:删除了第二段,因为它偏离了主要内容。这仍然存在:您将从该页面获得的代码将拥有您在服务器上的权限;你相信它不会滥用这些权利吗?这就是问题所在。我以前从未使用过这项服务,所以我根本不信任它。该脚本包含敏感信息,如mysql db连接信息,因此我不想承担任何风险。@nav:如果您根本不信任它,并且希望避免风险,那么您应该将您的敏感数据提供给它吗?我不认为这个问题和解决方案会比这更明显,即使这是一个不方便的答案。请注意,这不是免费的,甚至不像啤酒产品那样免费。另请看这个问题:虽然这是一个很好的链接,但应该提到的是,这里的关键字很容易与zen guard相关。不像他们的误导性营销声明,你实际上无法阻止逆向工程;但是你可以让它变得更难@克里斯·莱维利:克里斯说的是模糊,OP说的是不懂网络的用户,所以这可能就足够了。@克里斯·莱维利:同意-我不是想给人一种印象,认为Zend Guard在做一些不可思议的事情。编辑后的答案澄清了这一点,因为理解这一点非常重要,我认为很多入门级技术人员并没有意识到没有绝对的安全性;我们在说同样的话,我想你
虽然这是一个很好的链接,但应该提到的是,这里的关键词很容易与zen guard联系起来。不像他们的误导性营销声明,你实际上无法阻止逆向工程;但是你可以让它变得更难@克里斯·莱维利:克里斯说的是模糊,OP说的是不懂网络的用户,所以这可能就足够了。@克里斯·莱维利:同意-我不是想给人一种印象,认为Zend Guard在做一些不可思议的事情。编辑后的答案澄清了这一点,因为理解这一点非常重要,我认为很多入门级技术人员并没有意识到没有绝对的安全性;我们说的是同一件事,我想你可能说得更好。