所以我会直接说,显然我知道这实际上不是安全的,不要为此打败我。从懒惰的角度来看,我只是对这个问题感兴趣。我有一个网站,上面有一些我想对公众“隐藏”的信息。没有什么重要的或脆弱的;我只是不想让人们找到它并弄乱它。我已经有一个禁止所有抓取的robots.txt文件。页面上没有链接(或者不会有从其他站点到该站点的链接)。设置example.com将您带到“不允许您访问”页面,同时example.com?real=fun实际上让你的内容。除非查询键/值对正确,否则PHP不会实际运行该页面。那么,我可以假设没有人会无意中找到此页面,而且即使他们找到了,他们也无法进入内容,这是否合理?是的,我很懒
因此,在一个游戏中,我试图让客户端(web浏览器)和服务器之间的所有功能通过ajax调用phpweb服务进行交互。这是实现这类功能的一种非常简单的方法,但它有几个主要缺点:任何使用网络嗅探器的人都可以看到请求的格式(除非他们使用ssl)并复制它们任何使用浏览器玩游戏的人都可以查看包含的javascript文件,并查看提交xhr的情况。所以为了解决第一个问题,我将使用到服务器的https连接(这就是我如何正确实现ssl的方法?)对于这两个问题中的第二个,我所能想到的就是模糊化/最小化我的javascript代码。有人知道我如何验证我的php文件正在使用的web服务调用吗?如果我在客户端使
我想重构一些遗留的PHP代码,我知道PDO通过添加准备好的语句等更安全,但我想知道使用PDO::是否有任何安全优势query()方法与mysql_query()方法。有吗? 最佳答案 除了PDO或mysql_*中的错误外,数据库查询的安全问题取决于正在运行的查询,而不是用于连接到数据库的内容。如果您使用userdata创建一个不安全的查询并使用PDO::query()执行它,它与使用mysql_query()一样不安全。同样,如果您有安全查询,使用PDO::query()运行它实际上与使用mysql_query()相同。
与eval()相比,PHP的json_decode()是否安全?eval()函数可以运行代码,但json_decode()也可以吗? 最佳答案 自JSON只能表示数据,json_decode不会执行php代码。但是,就像任何其他函数一样,json_decode的实现可能存在错误并允许任意(二进制,而不是(仅)php)代码执行,例如bufferoverflow.由于相对简单且使用广泛的代码,这种情况不太可能发生,您无法或应该在php程序中做任何事情来缓解这种情况。 关于php-json_d
我现在正在开发一个php项目(InternetShop),该项目可能会处理存储本地客户信用卡信息的问题。所以我在考虑用IonCube加密php文件,特别是那些包含设置(加密/解密key,IV)的文件对称加密算法。所以我不确定它是否会增加额外的安全层,因为它看起来是IonCube加密的文件和类似的解决方案可以被解密。谢谢! 最佳答案 IonCube不是合适的解决方案。如果您对包含以下内容的文件进行编码:恢复secret值仍然是微不足道的:所以IonCube编码在这里基本上没有值(value)。
我有一个包含链接和图像的页脚文件。该文件用于我的主页和多个目录中。用户登录后,它还会用于我网站(https://)的安全部分。组织链接的最佳方式是(1)它们可以用于我网站的非安全(http://)和安全(https://)区域,同时(2)也能够在我的网站的不同目录中使用include吗?似乎为了满足我的第一个要求(1),我不得不使用相对链接;但是,为了满足我的第二个要求(2),我需要使用绝对链接。如果您能提供任何帮助,那就太好了!/media/sample-image.png"/> 最佳答案 只需使用//example.com/fo
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhatdoIneedtostoreinthephpsessionwhenuserloggedin?我想使用phpsession让用户登录。验证他们的身份后,我会将他们的user_id和has_logged_in存储在session中。为了验证他们是否已登录,我会检查他们的用户ID是否已设置并且has_logged_in是否为真。有时,我会通过session_regenerate_id(true)重新生成sessionID。这本身是否足够安全,还是我必须采取进一步措施来防止劫持和其他session安全漏洞?
我想知道是否有一种安全的方法来评估数学2+210000+1200010000-202+240-20+23-12无需使用eval()因为输入可以来自任何用户。我需要实现的只是整数的加法和减法。是否有任何已经存在的片段,或者我没有遇到过的任何PHP函数? 最佳答案 考虑到PHP中可用的各种数学函数,我会质疑使用eval。您说过您只想做简单的数学运算——使用eval的唯一原因是执行更复杂的操作,或者从用户那里接受完整的方程式。如果你只是想加或减,用intval清理输入然后去镇上:$number1='100';$number2='shell
我了解mysql_real_escape_string等,但是当我只是发送电子邮件时呢?所以我有表单和文本框,直接将$_POST数据通过电子邮件发送给用户是否存在任何漏洞?我猜他们将无法执行任何PHP..或者如果他们从网址运行它,他们可以吗?我不确定。 最佳答案 如果直接发送到电子邮件就可以了。如果它存储在数据库中以显示在帮助台等管理员页面上,则需要对html输出和mysql进行转义。您可以使用许多函数转义mysql:如果使用PDO,则使用prepare语句:http://php.net/manual/en/pdo.prepare.
我们使用Codeigniter创建了一个项目,它非常酷且高效。CI具有良好的表单验证功能,有助于保护系统,但我很难找到使用规则的正确方法。请看下面假设ID是一个整数字段,这样我就可以设置$this->form_validation->set_rules("ID","FORMID","required|trim|integer");我认为这已经足够了,因为如果ID字段包含integer以外的内容,表单验证将返回错误。但是普通的FORM字段(文本区域或普通输入类型文本字段)的规则应该是什么,要求不允许使用HTML(或需要去除这些标签)XSS清理SQL注入(inject)预防我现在正在做$t