我正在开发一个PHP应用程序,它必须响应来自多个客户端的请求,我认为“任何客户都可以看到我正在编写的PHP代码吗?”。
答案 0 :(得分:21)
不,除非
答案 1 :(得分:11)
没有。除非你在他们实际使用它的地方回应它。
答案 2 :(得分:6)
使用www服务目录下方或外部的包含。 (不能为了Frankie而+1 ..)
不要为http目录使用符号链接。我故意使用它来显示源和执行,具体取决于之前的用户请求路径,但是这需要httpd.conf更改(或配置错误)并且可以在httpd.conf中明确禁用。
如果允许使用fopen下载文件,请不要传递用户创建的任何内容,否则他们可能会弄清楚如何获取它们可以找到的任何文件。 考虑:
fopen('reports/' . $_GET['blah']);
用户传入'../ index.php'
答案 3 :(得分:3)
不,但你应该采取一切措施来阻止它。
你应该总是在你的服务器工作目录(比如/ www)下面的目录中设置你的敏感代码(哎呀,为什么不是全部?),这样如果服务器搞砸了,它就不能显示你的代码到世界,因为该代码将包含在首先不起作用的PHP中。
答案 4 :(得分:2)
如果你的网络服务器设置为服务而不是解析你的PHP是的。但那时客户不会工作。所以除非有任何安全漏洞,否则回答是否定的。
答案 5 :(得分:1)
没有。假设您已正确安装L / UAMP服务器,或者没有打印出来(echo,print_r等)以及代码的内容,PHP将被处理,并且它要输出的逻辑或HTML将是在页面上使用,不可见。
N.B。如果目录中没有“索引”或正确的.htacess文件,Apache服务器将显示目录中的文件列表,可以下载和查看。
答案 6 :(得分:0)
它发生的一个错误是在php字符串中粘贴一个php标签,例如:
$string = "This is the answer: <s><?php echo $answer; ?></s>";
echo $string;
这个人做了一个Ctrl + C和Ctrl + V的东西,应该沿着字符串打印,但编码器忘了通过分心删除php标签。