首页
学习
活动
专区
圈层
工具
发布

100 个常见的 PHP 面试题

final是在PHP5版本引入的,它修饰的类不允许被继承,它修饰的方法不允许被重写。 13) PHP中如何比较两个对象?...14) PHP和HTML是如何交互的? 可以通过PHP脚本生成HTML,还可以将信息从HTML传递到PHP。 15) 通过表单或URL传递值时需要哪种类型的操作?...file_get_contents() 可读取文件并将其存储到字符串变量中。 28) 如何使用 PHP 脚本 连接 MySQL 数据库?...45) 是否可以从数据中删除 HTML 标签? strip_tags() 函数使我们能够从HTML标签中清除字符串。 46) 函数中的静态变量有什么用?...我们用 instanceof 能够验证 PHP 变量是否是某个类的实例话对象。 84) goto 语句有什么用? goto语句可以放置在PHP程序中以启用跳转。

22.6K50

如何在CentOS 7上为Apache设置mod_rewrite

第6步 - 设置文件 我们将设置一个基本的重写规则,允许用户访问about.html页面而无需在Web浏览器的地址栏中键入文件扩展名(.html)。...首先在文档根目录中创建一个about.html文件: sudo vi /var/www/html/about.html 将以下HTML代码复制到文件中: <!...常见模式 既然我们对重写规则有了基本的了解,我们将在本节中探讨另外两个例子。 可以设置示例文件,但本教程不包括创建它们; 只是重写规则本身。...括号表达式[ ]匹配其中的任何字符,并+匹配括号中指定的任意数量的字符 对匹配进行分组,并将其$2作为文件中的第二个变量引用 RewriteRule ^([A-Za-z0-9]+)/(men|women...item=pants&type=men 我们成功扩展了匹配功能,以包含URL的多个方面。 示例1D:传递查询字符串 本节不介绍任何新概念,但解决了可能出现的问题。

6.5K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在Debian 9上使用mod_rewrite为Apache重写URL

    在开始使用.htaccess文件之前,您需要设置并保护更多设置。 默认情况下,Apache禁止使用.htaccess文件来应用重写规则,因此首先需要允许更改文件。...首先创建一个在Web根目录中命名为about.html的文件: sudo nano /var/www/html/about.html 将以下HTML代码复制到该文件中,然后保存并关闭它。...在此示例中,将两个附加参数传递给虚构的result.php应用程序脚本:值为shirt的item应用程序脚本和值为summer的season应用程序脚本。...item=$1&season=$2 [QSA] 括号中的第一正则表达式组包含字母数字字符和数字等比如shirt或pants的字符串匹配并保存匹配片段作为变量$1。...然后将匹配的片段用于生成在item和season变量中的URL ,而不是之前使用的硬编码shirt和summer值。

    6.3K95

    如何在Debian 8上使用mod_rewrite为Apache重写URL

    该模块允许我们以更干净利落的方式重写URL,将人们可读的路径转换为代码友好的查询字符串或根据其他条件重定向URL。 本教程分为两部分。第一部分设置了一个示例网站,并介绍了一个简单的重写示例。...在下一步中,我们将创建示例网站文件,我们将使用它们来演示重写规则。 第三步 - 配置URL重写 在这里,我们将设置一个基本的URL重写,它将URL转换为代码的实际路径。...具体来说,我们将允许用户访问http://your_server_ip/about。 首先在Web根目录中创建名为about.html的文件。 将以下HTML代码复制到该文件中,然后保存并关闭它。...item=shirt&season=summer [QSA] shirt/summer在请求的地址中明确匹配,并告知Apache提供results.php?...item=$1&season=$2 [QSA] 括号中的第一个正则表达式组匹配包含字母数字字符和数字等的字符串,例如shirt或pants,并将匹配的片段保存为$1变量。

    5.6K20

    HTML注入综合指南

    我想您现在对“ HTML是什么及其主要用途”和“我们如何实现这一切”一清二楚。因此,让我们尝试找出主要漏洞,并了解攻击者如何将任意HTML代码注入易受攻击的网页中,以修改托管内容。...**存储HTML**的最常见示例是博客中的**“评论选项”**,它允许任何用户以管理员或其他用户的评论形式输入其反馈。 现在,让我们尝试利用此存储的HTML漏洞并获取一些凭据。...** 现在,我们将被重定向到遭受**HTML注入漏洞的**网页,该**漏洞**使用户可以在屏幕快照中将其条目提交到博客中。...反映HTML GET 在这里,我们创建了一个网页,从而允许用户使用其“名称”提交“反馈”。...*“有时开发人员会在输入字段中设置一些验证,从而将我们的***HTML代码***重新呈现到屏幕上而不会被渲染。”

    5.5K52

    如何在Ubuntu 14.04上为Apache设置mod_rewrite

    介绍 在本教程中,我们将激活并学习如何使用Apache2 mod_rewrite模块管理URL重写。这个工具允许我们以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。...在我们开始之前,我们需要设置并确保更多设置。 首先,允许更改.htaccess文件。使用nano或您喜欢的文本编辑器打开默认的Apache配置文件。...如果您愿意,可以在结果路径中设置示例文件,但本教程不包括创建HTML和PHP文件; 只是重写的规则。...问号附加到URL 并使用&&符号分隔。匹配重写规则时会忽略它们。但是,有时可能需要查询字符串来在页面之间传递数据。...括号表达式[]匹配其中的任何字符,并+匹配括号中指定的任意数量的字符 对匹配进行分组,并将其$2作为文件中的第二个变量引用 /var/www/html/.htaccessRewriteRule ^([A-Za-z0

    3.2K00

    CGI与FastCGI

    此外CGI程序还通过环境变量来得到输入,操作系统提供了许 多环境变量,它们定义了程序的执行环境,应用程序可以存取它们。...Web服务器和CGI接口又另外设置了一些环境变量,用来向CGI程序传递一些重要的参 数。CGI的GET方法还通过环境变量QUERY-STRING向CGI程序传递Form中的数据。...通过环境变量”QUERY_STRING” 获取get 方式提交的内容,如果想获取post 提交的内容可以通过getenv(“CONTENT-LENGTH”),Web服务器在调用使用POST方法的CGI程序时设置此环境变量...如果我们在Apache启动前在其配置文件中配置好了PHP模块, PHP模块通过注册apache2的ap_hook_post_config挂钩,在Apache启动的时候启动此模块以接受PHP文件的请求。...Apache 的Hook机制是指:Apache 允许模块(包括内部模块和外部模块,例如mod_php5.so,mod_perl.so等)将自定义的函数注入到请求处理循环中。

    2K20

    了解Nginx

    接下来,打开配置文件,在默认的配置文件中server块下已经包含了一些例子,通常它们是被注释了的。 ? ? 以/images/开头的请求,服务器将从/data/images目录下查找并返回文件。...5. ngx_http_proxy_module模块 ngx_http_proxy_module模块允许将请求传递到另一个服务器。例如: ? 5.1. proxy_pass指令 ?...设置共享内存区域和请求的最大突发大小。如果请求速率超过了为区域配置的速率,那么它们的处理就会延迟,这样请求就会以指定的速率进行处理。...过多的请求被延迟,直到它们的数量超过最大突发大小,在这种情况下,以一个错误来终止请求。默认情况下,突发数量等于0。 ? 平均每秒不允许超过1个请求,突发不超过5个请求。...设置共享内存区域参数。key可以包含文本、变量、以及它们的组合。 ? 这个例子中,“one”这个区域维护的内存是10M,并且这个区域的平均请求处理速率不能超过每秒1个请求。 7. 控制Nginx ?

    68620

    CGI & FastCGI

    此外CGI程序还通过环境变量来得到输入,操作系统提供了许 多环境变量,它们定义了程序的执行环境,应用程序可以存取它们。...Web服务器和CGI接口又另外设置了一些环境变量,用来向CGI程序传递一些重要的参 数。CGI的GET方法还通过环境变量QUERY-STRING向CGI程序传递Form中的数据。...通过环境变量"QUERY_STRING" 获取get 方式提交的内容,如果想获取post 提交的内容可以通过getenv("CONTENT-LENGTH"),Web服务器在调用使用POST方法的CGI程序时设置此环境变量...如果我们在Apache启动前在其配置文件中配置好了PHP模块, PHP模块通过注册apache2的ap_hook_post_config挂钩,在Apache启动的时候启动此模块以接受PHP文件的请求。...Apache 的Hook机制是指:Apache 允许模块(包括内部模块和外部模块,例如mod_php5.so,mod_perl.so等)将自定义的函数注入到请求处理循环中。

    1.8K30

    如何使用AngularJS和PHP为任何位置生成短而独特的数字地址

    请注意,Google提供API密钥作为免费试用的一部分,但它要求您设置并启用结算以便检索它们。 输入此信息后,您的API密钥将显示在屏幕上。...在这下面几行,我们声明一个名为fullAddress的变量,该变量根据用户输入到应用程序表单字段中的信息构造一个人类可读的邮件地址。...db.php保存了您在步骤2中创建的MySQL数据库的登录凭据,并通过将其包含在generateDigitalAddress.php内,我们可以将通过表单提交的任何地址信息添加到数据库中。...然后将它们传递给Mapcode API,Mapcode API使用它们生成mapcode。...这可以通过db.php文件中的代码实现,该代码存储您的数据库凭据并允许应用程序访问其中的locations表。

    15.5K20

    php基本语法复习

    > html> 变量 变量的命名规则 变量以$符号开头,其后是变量的名称 变量名称必须以字母或者下划线开头 变量名称不能以数字开头 变量名称只能包含字母数字下划线 变量名称对大小写敏感...> 常量 常量是单个值的标识符,脚本中无法改变该值 有效的常量名以字符或下划线开头,(常量名称前面没有$符号) 设置php变量 define()函数,一共三个参数 首个参数定义常量的名称 第二个参数定义常量的值...php函数参数 通过参数向函数传递信息,参数类似于变量 逗号隔开参数 传递到当前脚本的变量数组 $_POST是通过HTTP POST传递到当前脚本的变量数组 何时使用 GET 方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在 URL 中)。...='email'> html> 用户填写此表单并点击提交按钮后,表单数据会发送到名为welcome.php的文件供处理,表单数据是通过

    1.3K10

    【Nginx31】Nginx学习:代理模块(五)变量与其它配置

    在这种情况下,重定向应该以“~”符号开头以进行区分大小写的匹配,或者以“~*”符号开头以进行不区分大小写的匹配。...,以第一个匹配到的为准。...注意,这里走的匹配是第二条,也就是 ~/(.+)\.html 的匹配规则。不带服务器名称的会自动加上服务器 Host 及端口号。 然后我们再来测试一下更复杂的正则匹配的问题。...; 第一个,会走最后一个匹配规则,得到的 Location 结果是: Location: http://192.168.56.88/1.php 而第二个,则会被第二个 .html 的那个规则匹配到,...proxy_set_body 允许重新定义传递给代理服务器的请求正文。 proxy_set_body value; 没有默认值,该值可以包含文本、变量及其组合。

    1.9K31

    LFI-Labs 完整训练

    点击显示隐藏的提示表示会执行 GET 方法传递的 cmd 变量。 图片 都提示到这一步了,也没啥好说的了,直接使用 GET 方法传递 cmd 变量执行 ls / 命令列出根目录。...图片 CMD-2 本题与前一题类似,就是提示换成了 POST 方法传递变量。值得注意的是页面中的表单就是以 POST 方法提交的,并且参数名就是 cmd。...F12 查看源码发现此处还提交了一个隐藏的 server 变量,并且变量值设置为了 whois.publicinterestregistry.net。...> 可以看出后台对 domin 变量进行了十分复杂的正则匹配的白名单过滤,该过滤是否存在漏洞这里不懒得作研究,值得注意的是 server 变量并没有被过滤,因此直接修改该变量即可。...这里以 php://input 以及 data:// 为例,他们都可以直接将自己所带入的数据流当作读取到的数据流,其中 php://input 的数据放在数据包中以 POST 方式提交,而 data:/

    3.1K30

    PHP代码审计

    、select,查看传递的变量参数是否用户可控制,有无做过安全处理 防范方法: 使用参数化查询 6.XPath注入 Xpath用于操作xml,我们通过搜索xpath来分析,提交给xpath函数的参数是否有经过安全处理...防范方法: 对于数据进行精确匹配 7.HTTP响应拆分 PHP中可导致HTTP响应拆分的情况为:使用header函数和使用$_SERVER变量。...防范方法: 1.精确匹配输入数据 2.检测输入输入中如果有\r或\n,直接拒绝 8.文件管理 PHP 的用于文件管理的函数,如果输入变量可由用户提交,程序中也没有做数据验证,可能成为高危漏洞。...9.信息泄露 1.phpinfo 如果攻击者可以浏览到程序中调用phpinfo显示的环境信息,会为进一步攻击提供便利 10.PHP环境 1.open_basedir设置 open_basedir能限制应用程序能访问的目录...magic_quote_gpc设置 这个选项能转义提交给参数中的特殊字符,建议设置magic_quote_gpc=ON 6.register_globals设置 开启这个选项,将导致php对所有外部提交的变量注册为全局变量

    3.5K50

    PHP安全开发中常见的Dos风险

    在较老的版本中通过提交 POST 参数,也能实现 PHP Hash Collision。...PHP文件(post_exp.php)简单构造一个 from 表单, 接收 POST 过来的参数并输出: ? 现在我们来看看,正常提交参数的响应时间是多少: ?...假设该场景,用户在页面窗口填写账号密码并点击登录,此时会通过 AJAX 发送拼接好的 json 字符串到接口。...所以这里只能使用正则匹配去识别攻击了, 匹配DTD中的关键词:<!DOCTYPE 和 <!ENTITY,或者 SYSTEM 和PUBLIC。 而解析大的 XML 文件可能会花费大量时间和内存。...如果你的体系结构允许,可以考虑将大的 XML 文件解析放在异步进行。当 XML 文件上传时,将它们移到队列中,并有一个单独的进程将它们从队列中取出并处理解析任务。

    1K00

    这份PHP面试题总结得很好,值得学习

    ,PHP是将程序嵌入到HTML文档中去执行,效率比完全生成HTML编辑的CGI高很多 HTML: Hypertext Markup Language 创始人: 拉姆斯勒·勒多夫Rasmus Lerdorf...特性: php独特混合了C,Java,Prel以及PHP自创的语法 可以比CGI或者Prel更快速去执行动态网页,与其他变成语言相比,PHP是讲程序嵌入到HTML文档中去执行,执行效率比完全生成HTML...变量默认总是传值赋值,那也就是说,当将一个表达式的值赋予一个变量时,整个表达式的值被赋值到目标变量,这意味着:当一个变量的赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量 php也提供了另外一种方式给变量赋值...Php配置文件中设置register_globals为off,关闭全局变量注册 控制错误信息,不要在浏览器上输出错误信息,将错误信息写到日志文件中。 23.PHP网站的主要攻击方式有哪些?...左外连接,也称左连接,左表为主表,左表中的所有记录都会出现在结果集中,对于那些在右表中并没有匹配的记录,仍然要显示,右边对应的那些字段值以NULL来填充。

    5.5K20

    Apriso开发葵花宝典之八Portal Session篇

    如果需要在不同的位置显示两组按钮(不同的组),请将按钮的HTML代码复制到所需的位置,并修改data- flex -filter表达式以匹配您的组(View Action: General选项卡上的group...) Ø不传递到子门户 lContainer_UI:定义一个用户输入User Input变量 Ø在Screen提交之后被推送到堆栈(带有来自用户的值) Ø返回时恢复(恢复到用户最初输入的值) Ø 不传递到子门户...传递到子门户 Ø当向会话变量添加变量时,后缀“_UI”会自动删除 1、中间变量Immediate Variables 中间变量不会合并到Portal会话中的门户会话变量,因为它们仅在单个屏幕范围内可见。...中间变量将被传递到On Action操作中,但它们不会保存在Portal会话中。因此,它们不会用仅用于立即处理的变量污染影响会话。...因此,On Action操作Operation中可以以相同的方式处理普通变量和中间变量 作为最佳实践,可以考虑使用中间变量作为起点。只有在另一个屏幕上需要时才将它们更改为常规变量。

    1.1K10
    领券