草庐IT

php - 我的反 XSS 方法是否可以在 PHP 中允许用户使用 HTML?

我正在努力寻找一种让用户提交数据的好方法,在这种情况下允许HTML并尽可能安全和快速。我知道这个网站上的每个人似乎都在想http://htmlpurifier.org是这里的答案。我部分同意。htmlpurifier拥有用于过滤用户提交的HTML的最佳开源代码,但该解决方案非常庞大,不利于高流量站点的性能。我什至有一天可能会使用那里的解决方案,但现在我的目标是找到一种更轻量级的方法。我已经使用下面的2个函数大约2年半了,目前还没有遇到任何问题,但我认为是时候听取专业人士的意见了,如果他们能帮助我的话。第一个函数称为FilterHTML($string),它在用户数据保存到mysql数据

php - 为什么我的正则表达式删除空格?

$str="&&svnips Â∴≈osidnviosd&sopinsdo";$regex="/&[^\w;]/";echopreg_replace($regex,"&",$str);我正在尝试用编码的符号替换所有未编码的符号。问题是它删除了&和sopinsdo之间的空格。知道为什么吗? 最佳答案 为什么要使用正则表达式?为什么不使用htmlspecialchars()?echohtmlspecialchars($str,ENT_NOQUOTES,'UTF-8',fal

php - 我是否应该将我的 PHP5 对象存储在 SPEED session 中,为什么?

如您所知,当您在SESSION中存储一个类定义时,会自动序列化,并在每个后续页面上反序列化。我刚开始写类(class),我想知道:在session或文件中存储类并序列化是个好主意吗?如果是,我如何存储然后获取以在PHP5中使用类? 最佳答案 您不能将类存储在session变量中,但可以存储对象。请注意,如果您的对象具有引用文件句柄和数据库连接等资源的属性,则再多的反序列化操作也无法恢复它们。 关于php-我是否应该将我的PHP5对象存储在SPEEDsession中,为什么?,我们在Sta

php - 为什么我的脚本在访问未定义数组中的值时不触发通知?

我有一个如下所示的测试方法:$row=$this->GetRowFromUserTable($id);$this->assertLessThan(time(),time($row['last_update']));当$row为null时,对$row['last_update']的访问应该触发E_NOTICE并且此测试应该失败,但事实并非如此。此代码在第一个断言时失败,所以我知道$row为空(夹具相同):$row=$this->GetRowFromUserTable($id);$this->assertNotNull($row);$this->assertLessThan(time(),

php - 用户如何在我的网站上登录 Twitter 帐户

我正在创建一个网站,我想知道他们的任何模块或小部件是否已经发布,然后再学习如何将其编码到我的网站中,让用户在我的网站上登录他们的Twitter帐户并上传徽章,然后反射(reflect)在他们实际的推特个人资料上……在twitter.com域上。我听说他们的一些问题是让用户登录其他不喜欢Twitter的网站并且可能存在安全风险,但我实际上不会存储任何登录名或密码。他们必须登录一次才能获得徽章,仅此而已。 最佳答案 开始阅读https://dev.twitter.com/web/sign-in有更多信息在https://dev.twit

php - 为什么我的 Cake 插件中的 JavaScript 文件被解析为 PHP?

我在开发的Cake插件中包含的一个JavaScript有问题。由于某种原因一个JavaScript文件被解析为一个PHP文件,所以加载该文件会抛出这个错误,这是一个PHP解析错误:Parseerror:syntaxerror,unexpectedT_CONSTANT_ENCAPSED_STRING使用HtmlHelper调用脚本:Html->script(array('/myplugin/scripts/tiny_mce/tiny_mce',));?>错误是由压缩的tiny_mce.js文件触发的,该文件位于脚本目录的子目录中,未压缩的版本显示相同的行为。问题是我的本地设置没有问题。远

php - 保护从 ajax 调用的我的 php 脚本的执行

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:howtoprotectajaxRequest.openphpscript我正在从jquery调用ajax到位于我自己的服务器中的php脚本,例如:$.ajax({url:'ajax.php',....有什么方法可以直接保护这个文件的执行?我的意思是,一些IF语句仅在文件ajax.php被调用时才让代码开始假设一个在origin.html中编写的jquery脚本而不是直接调用文件?感谢您的帮助!

php - 限制全局变量仅访问我的 php 文件

如何在函数外部创建一个变量,但它在我的php文件之外不可见?我的意思是一个具有单一文件作用域的全局变量。我不想在明天可能会发生冲突的全局命名空间中添加函数名称。 最佳答案 你可以使用匿名函数: 关于php-限制全局变量仅访问我的php文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8630797/

PHP 为什么我的函数返回具有不同键的数组结果的两倍?

我的PHP函数之一有问题。它用不同的键返回结果两次......我只想要一次没有数字键的结果。此查询和函数返回以下数组:prepare($requete)ordie(print_r($req->errorinfo()));;$stmt->execute($params);$result=$stmt->fetchAll();return$result;}?>#TheArrayArray([0]=>Array([g_ID]=>1[0]=>1[g_name]=>zero_Nagar.svg[1]=>zero_Nagar.svg[g_height]=>1174[2]=>1174[g_width]

php - 如何在 yii 中打印我的 sql 字符串?

我正在使用yii框架来实现一个新项目。我想在服务器上运行之前查看sql字符串。我已经在我的配置文件中启用了这段代码,但我仍然没有得到任何结果array('class'=>'CWebLogRoute',),在运行网页时,如何查看sql字符串? 最佳答案 尝试将其放在main.php(配置)中的组件下:'log'=>array('class'=>'CLogRouter','routes'=>array('weblogging'=>array('class'=>'CWebLogRoute','enabled'=>true,),),),然后