全方位解疑PHP应用问题_PHP教程
谨慎使用==比较运算符,因为PHP是无类型的,但底层的C实现引擎是有类型的。最终都有类型转换,比如0==”abc”结果是true,这可能不是我们想要的
在语义上是某种明确类型的地方都要使用相关函数明确转换一下:intval。。。
在一个地方统一定义PHP的文件包含路径,这样在项目的各个地方包含文件的时候不要带上路径,只要文件名就行了,便于文件的转移
PHP应用问题还有一个就是不要直接在函数,类方法中使用PHP的全局变量,而应该是提供一个单独访问全局变量的代理,可以是对象,也可以只是一个简单的函数,如果是在类中访问全局变量,修改为使用代理全局变量的对象,这样两个对象之间有明确的依赖关系,不要在函数内部直接使用全局变量或者global 外面的变量,一个函数只应该使用函数参数传递进来的数据。自己尽量不要使用全局的变量然后到处global, 注意表单的重复提交。这可以采用令牌。
决定系统是单入口还是多入口
注意编码:文件存储编码,页面编码,数据库编码,用户的操作系统编码(用户直接在地址上输入内容时FF,Opera会把内容根据操作系统的编码urlencode编码,而IE6原样)
不要暴露文件的路径
提交请求后用户关掉浏览器或者点击浏览器的停止或者其它原因网络断掉后PHP是要继续处理还是停止处理,PHP如何知道以上情况:connection-handling(ignore_user_abort,register_shutdown_function,connection_status…)
时区问题,如果应用是分布式的话
explode应用在一个空值上将产生一个包含1项内容的数组:array(”"),但后者不是为false。也就是:null是假值,但explode(’,',null)后是真值,所以要小心if(explode(’,',$var))这种条件
$var = null;isset($var)结果为false。
PHP应用问题之安全问题
验证输入,不要相信来自用户的数据(GET,POST,COOKIE),对于一个PHP应用,应该统一的对这些数据进行过滤处理,比如编码html标签防止XSS,防止sql注入。
同时对于需要验证的内容,PHP要在验证一次,因为客户端的各种验证都可以很容易的跳过(伪表单,禁用js及firebug这些可以随便修改html的工具)。
要注意用户提交的数据大小。比如post数据或者get数据太大可能会有缓冲溢出问题
小心服务器的非PHP文件。如果应用可以上传或者下载文件,要避免直接通过文件名读取文件而文件名是用户提供的情况,可能用户会提供一些自己不该看到的文件,但PHP程序却读出来了。同时不要在返回的html中显示文件路径,文件的保存路径不应让用户看到,用户可能会根据这些路径猜出其它自己不该看到的文件
如果会话是保存在文件中的,并且web服务器上还有其它未知的用户(比如出租的web主机),应该修改会话文件的保存位置,或者把会话通过PHP的会话handler写到数据库中,因为会话默认保存在临时目录中,其它人可以访问到,如果会话中保存了密码之类的信息就很危险。
以上就是PHP应用问题的相关解决办法。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.
