草庐IT

php - 确保在使用 PHP 时考虑所有异常

我在Java中使用过异常,喜欢它不允许您调用方法的方式,除非您捕获或抛出它可能抛出的异常。我正在PHP中寻找类似的东西。我意识到PHP比Java更动态,甚至不允许您定义它抛出的异常,但我能得到的最接近的是什么?我们使用PHPDoc记录我们的方法,因此如果您在没有正确的try/catchblock的情况下调用方法,或者在没有正确的@thows注释的情况下抛出异常,那么触发E_WARNING的东西将是完美的。 最佳答案 PHP本身无法做到这一点。您将不得不解析PHP并自己弄清楚。尝试写phcplugin为此。

php - 如何确保 Laravel 5.5 正在运行测试?

我的应用程序中有一些方法可以检查if(env('APP_DEBUG'))打开并返回true(或其他)如果我们在Debug模式而不是执行特定的数据库或API调用。问题是当我运行phpunit时,应用程序仍处于Debug模式,因此它不会“真正”针对实际代码运行测试。是否可以检查测试是否正在运行,所以我可以做if(env('APP_DEBUG')||$testing)?还是有更好的方法来处理这种情况? 最佳答案 您正在寻找App::runningUnitTests()。请记住,您不应在配置文件之外使用env(),而应使用config('a

php - Zend Framework : setting a Zend_Form_Element form field to be required, 我如何更改用于确保元素不为空的验证器

当使用Zend_Form时,验证输入是否留空的唯一方法是做$element->setRequired(true);如果未设置且元素为空,在我看来,验证未在元素上运行。如果我确实使用了setRequired(),该元素会自动获得标准的NotEmpty验证器。问题是这个验证器的错误消息很糟糕,“值是空的,但需要一个非空值”。我想更改此消息。目前,我已经通过更改Zend_Validate_NotEmpty类来完成此操作,但这有点hacky。理想情况下,我希望能够使用我自己的类(派生自Zend_Validate_NotEmpty)来执行非空检查。 最佳答案

php - 如何确保上传的文件是 jpg、gif 或 png?

在php中,我可以通过扩展名检查上传的文件是否具有正确的类型,因此代码应如下所示:if((($_FILES["photo1"]["type"]=="image/gif")||($_FILES["photo1"]["type"]=="image/jpeg")||($_FILES["photo1"]["type"]=="image/png"))&&($_FILES["photo1"]["size"]然后在我的代码的下一步中,我准备了一个文件以供进一步处理。但是,如果有人在上传前将text_file.doc或javascript_file.js更改为samplefile.jpg怎么办?mov

php - Vagrant/Puppet --- 确保 : change from present failed: Could not set 'present on ensure: No such file or dir

我正在使用Vagrant和Puppet在Ubuntu上安装Apache和PHP。但是,我在vagrantup期间收到以下错误。我认为模板的路径是正确的,那为什么会出错呢?我正在使用设置here修改以确保apt-getupdate在任何其他操作之前运行错误←[1;35merr:/Stage[main]/Php/File[/etc/php5/apache2/apc.ini]/ensure:从缺席出席失败:无法设置“出席确保:没有这样的文件或目录ectory-/etc/php5/apache2/apc.ini.puppettmp_6187在/tmp/vagrant-puppet/module

php - javascript 验证是否足以确保我的表单安全?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion我正在建立一个网站,我对登录/注册页面上的表格有疑问。我在登录页面上有一些标准的javascript验证。我的问题是,如果禁用了javascript,我应该只禁用登录按钮,还是应该在服务器端代码上保留PHP验证?就安全性而言,哪种方法更好?我打算禁用登录/注册按钮,只通过javascript启用它。这样我就可以避免编写已经存在的相同JavaScript的PHP端验证。这是一种安全的方式吗?

php - 如何确保文件路径位于给定的子目录中?

我想确保通过查询字符串设置的文件路径不会超出所需的子目录。现在,我正在检查:路径不以“/”开头,防止用户给出绝对路径。路径不包含“..”,以防止用户提供所需子目录之外的路径。路径不包含“:”,以防止使用url(即“http://”、“ftp://”等)。如果我曾经在Windows服务器上运行此脚本(不太可能),这也会阻止以驱动器说明符(即“C:\”)开头的绝对路径。注意:我知道冒号在Unix文件名中是有效字符,但我绝不会在文件名中使用它。路径不以“\”开头。以防万一我改变主意在Windows服务器上运行,这会阻止指定Windows网络路径(即“\\someserver\someshar

php - 无论如何确保 POST 数据来自特定主机?

我有一个PHP脚本,POST数据来自已知来源非常重要。从“类似的标题”来看,没有真正的方法可以做到这一点,因为标题可以被欺骗。SERVER_ADDR也可以被欺骗吗?这可以用作某种形式的数据发布来源验证吗? 最佳答案 不考虑PHP,依赖于请求似乎来自的IP地址是一种相当薄弱的安全形式。您应该考虑将HTTPS与分发给每个可信来源的单独客户端证书结合使用。SSL乍一看可能令人望而生畏,但您在这里需要的并不复杂,学习它您将获得宝贵的技能。 关于php-无论如何确保POST数据来自特定主机?,我们

php - 确保字符串是有效的 CSS ID 名称

我有一堆数据库记录(没有auto_incrementID或类似的东西)呈现为一个列表,我需要用一个唯一的id来区分它们。我可以只在循环中添加一个运行计数器并完成它,但不幸的是,这个ID需要在整个站点中交叉引用,但是列表是有序的或过滤的。因此我想到了将记录标题作为id的一部分包含在内(带有前缀,这样它就不会与布局元素发生冲突)。我怎样才能以万无一失的方式将字符串转换为id名称,以便它永远不会包含会破坏HTML或无法用作有效CSS选择器的字符?例如;Title==>prefix_titleTPSReport2010==>prefix_tps_report_2010Mike's"Propos

php - 登录或返回链接 url 后确保返回上一页的最佳做法

我找到了很多登录后重定向到上一页的方法和示例:$_GET-需要验证$_SESSION-如果使用多个选项卡,将覆盖该值$_SERVER['HTTP_REFERER']-它由浏览器发送到服务器在表单上我们可以使用或使用隐藏输入。我可以知道确保返回值的最佳做法是什么吗? 最佳答案 最常见的做法(也是在电子商务网站上的付款结帐中)是隐藏输入,其中包含要重定向到的URL:"/>它似乎对大多数人来说足够安全...... 关于php-登录或返回链接url后确保返回上一页的最佳做法,我们在StackOv