草庐IT

php - 如何编写 mod_security 友好的 PHP 代码?

我在WordPress中创建了一个主题,该主题在HostGator上触发了mod_security规则并给出了403错误。我联系了那里的人(在HostGator),他们帮我修好了。但我不希望我的主题像这样工作。我只是想知道是否有关于编写对mod_security友好的PHP代码的指南/博客文章/教程?我试过谷歌,但没有找到任何有用的东西。 最佳答案 我不确定是否有很多指南,特别是因为mod_security配置因服务器而异。我最推荐的是看一下CoreRuleSetProject.那里有很多规则。他们有很多。一些一般要避免的事情是:在

php - 带有文件 url 的 mod_xsendfile

apachemod_xsendfile适合下载脚本但我想下载一个像这样的URL的文件header("X-Sendfile:http://site.com/a.zip");但它不起作用。它显示错误404。你能帮我看看那个代码吗? 最佳答案 mod_xsendfile不是那样工作的。您只能发送本地文件系统上的文件。 关于php-带有文件url的mod_xsendfile,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

php - 如何使用 Google 身份验证获取 Google Plus ID

我看到一个网站通过GoogleOpenID身份验证获得了GooglePlus个人资料ID。这是怎么做到的? 最佳答案 这个:http://developers.google.com/+/api/oauth应该有帮助。 关于php-如何使用Google身份验证获取GooglePlusID,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6776670/

php - 有没有一种快速的方法可以为所有 CSS 类和 ID 添加前缀?

我需要快速为我所有的类和ID添加前缀,这是一个相当大的CSS文件。我在想一个快速的正则表达式字符串,但到目前为止我已经失败了。有什么想法吗?我试过一些简单的事情,比如:\#([A-z0-9]+){这会让我用#prefix_$1替换,但它没有考虑:#id{#id.class#id,等我不能只替换所有#[a-z0-9],因为它会尝试获取背景颜色等等。我还需要替换所有的类,这让我更加困惑。 最佳答案 您可以搜索:\.(-?[_a-zA-Z]+[_a-zA-Z0-9-]*)[^}]+{\#(-?[_a-zA-Z]+[_a-zA-Z0-9-]

php - 如何针对跨域的 PHP session ID 对 Socket.IO 进行身份验证

我在node.mydomain.com上设置了一个节点/Socket.IO,在www.mydomain.com上设置了一个Apache/PHP堆栈。目前我正在用这样的东西做身份验证:Client:在连接时,发送自定义authorization事件,其中包括PHPSESSID到服务器服务器:在授权时,使用此cookie调用api.php获取用户信息,将此身份信息发送给客户端客户端:现在可以使用此身份执行操作这有点笨拙,因为Socket.IO有一个我想使用的身份验证位置(Onthiswiki)。问题是我不知道如何将PHPSESSIDcookie信息从客户端发送到服务器。它们位于不同的域中,

php - 仅当使用 mod_rewrite 找到文件时才替换 URL

here'showIdo:用户键入一个URLmod_rewrite处理以下形式的URL:^([^/\.]+)/?$(第一个路径中的段)并将它们重定向到索引页面:struct.php?page=$1在索引页面(struct.php)我请求页面的内容($_GET['page'])如果存在:$content=@file_get_contents("pages/$_GET[page]/.content")如果内容不存在,我只请求页面的内容'not_found/.content'这是有效的,但我想在脚本中保持简单,并使用mod_rewrite的强大功能来仅请求存在的页面。here'showI'd

php - Mod_rewrite - 重写条件不起作用

我正在构建一个php框架,它将所有流量重定向到ROOT/public/index.php,然后将url放入get请求中。我的问题是我的RewriteConds不工作并且正在接受文件和文件夹名称。在根目录RewriteEngineonRewriteRule^$public/[L]RewriteRule(.*)public/$1[L]orderallow,denydenyfromall在公共(public)目录RewriteEngineOnRewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteRul

php - 用于自定义平面链接的 mod_rewrite apache 卡住了

我想为我的网站创建平面链接。.htaccess代码如下:RewriteEngineOnRewriteBase/RewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteRule^([0-9A-Za-z]+)?$/index.php?page=$1[L]RewriteRule^([0-9A-Za-z]+)/?$/index.php?page=$1[L]`现在我的网站正在运行,可以通过print_r($_GET)看到并获取所有值。我的网站有这样的代码:,其中图像位于路径:/images/icons/up

php - mod_rewrite 能否在 URL 中找到一个变量,替换它之前的部分,删除变量并保留剩下的部分?

我环顾四周,但坦率地说,我不确定我需要搜索哪些术语才能获得更准确的结果。哎呀,我正在为urlvs.urivs.pagevs.link以及每一个是什么而不是什么而苦苦挣扎。MOD_REWRITE指南似乎是为精通Apache或Unix或其他任何东西的人编写的,尤其是当他们似乎都没有解释或解析示例以了解每个“编程”字符的作用或含义时。在我尝试涵盖...概念的前25个搜索结果中,我似乎没有在Google和整个Google上得到任何我想要的东西。好吧,我想做的是根据三个变量替换URL的通配符字符串,同时保留其他位。这可能使用mod_rewrite吗?例如三个请求的URL是:http://mydo

php - 处理 : libapache2-mod-php5 php5 php5-cli 时遇到错误

我现在使用的是Ubuntu11.10。当我努力通过键入安装php5时sudoapt-getinstallphp5我遇到了这个错误:......Errorswereencounteredwhileprocessing:libapache2-mod-php5php5php5-cliE:Sub-process/usr/bin/dpkgreturnedanerrorcode(1)我试过再做一次,但还是出现了同样的错误。然后有人建议我删除它。我做了:sudoapt-getremove--purgephp5得到这个错误:Readingpackagelists...DoneBuildingdepen