Я вижу, что это старый пост, но я нашел его полезным и подумал, что поделился бы решением, аналогичным тому, что предложил @kzqai:
У меня есть функция, которая получает два параметра, такие как ...
function getTableInfo($inTableName, $inColumnName) {
....
}
Внутри я проверяю массивы, которые я установил, чтобы убедиться, что доступны только таблицы и столбцы с «блаженными» таблицами:
$allowed_tables_array = array('tblTheTable');
$allowed_columns_array['tblTheTable'] = array('the_col_to_check');
Затем проверка PHP перед работающий PDO выглядит как ...
if(in_array($inTableName, $allowed_tables_array) && in_array($inColumnName,$allowed_columns_array[$inTableName]))
{
$sql = "SELECT $inColumnName AS columnInfo
FROM $inTableName";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
Looks like
git config remote.origin.receivepack /bin/false
Makes push to remote origin fail.
Если Вы могли бы сделать все свое продвижение от другого ответвления, я думаю, что Вы могли бы настроить то ответвление, чтобы иметь его собственный отдельный репозиторий для продвижения к:
git checkout master
git branch outbound
git remote add destination <some url>
git config branch.outbound.remote destination
я не попробовал это, и Вы, возможно, должны сделать еще некоторую работу для создания полного решения. Это также не могло бы работать на Вас, если необходимо продвинуть от ведущего устройства.
Я не уверен, что можно на самом деле сделать это в мерзавце сегодня. Реализация выборки мерзавца (во встроенном-fetch.c) и нажатия мерзавца (во встроенном-push.c) оба вызывают внутреннюю функцию remote_get (ПУСТОЙ УКАЗАТЕЛЬ) для идентификации репозитория по умолчанию к pull-from/push-to.
Одна опция состояла бы в том, чтобы создать псевдоним, который определяет Ваш желаемый repo. Например:
git config --add alias.mypush "push repo-for-push"
Тогда Вы могли:
git mypush
для продвижения к желаемому repo. Не точно, что Вы хотите, конечно. (Можно также рассмотреть - repo аргумент нажатию; см. http://kerneltrap.org/mailarchive/git/2008/10/7/3537694 для недавнего обновления документа, которое разъясняется - repo аргумент.)
Оберните команду "git" во что-то, что поглощает аргумент push. Я мысленно написал следующее:
~$ cat /usr/local/bin/git #!/bin/bash # git wrapper # prevents pushing to repository declare -a args declare msg='' while [ $# -gt 0 ] do if [ "$1" != 'push' ]; then args=( "${args[@]}" "$1" ) else msg="No pushing" fi shift done if [ ${#msg} -gt 0 ]; then echo "$msg" fi /usr/bin/git "${args[@]}"
Просто убедитесь, что на вашем пути есть завернутая команда перед «настоящей» командой git.
В версии 1.6.4 , Git получил возможность удаленного извлечения с одного URL-адреса и отправки на другой, используя настройку конфигурации remote.name.pushurl
. Я могу представить себе странное поведение, если push-репозиторий не отслеживает пул-репозиторий, но я подозреваю, что Git просто попытается перемотать push-репозиторий из текущей / отслеживающей / соответствующей ветки (ветвей), независимо от того, что это будет тянуть, когда он запрашивает удаленный пульт с тем же именем.
Например, если вы хотите использовать анонимный протокол git, но нажимать через SSH (возможно, вам нужно значение токена SecurID или что-то еще для аутентификации):
[remote "myremote"]
url = git://server/path
pushurl = user@server:/path